ios - 可选类型“UITextField?”的值 必须解包以引用已包装基本类型“UITextField”的成员“文本”
问题描述
我正在使用文本字段来搜索数组中的值。但我收到这样的错误。我们应该如何转换数据类型?我正在使用 Swift 5。
可选类型“UITextField?”的值 必须解包以引用已包装基本类型“UITextField”的成员“文本”
for i in 0..<allUser.count {
if allUser[i].name.contains(textArea.text) { // here is the error
print(allUser[i].name)
}
}
解决方案
您收到的错误是因为 textArea 是可选的,而 textArea.text 返回一个可选字符串,而“包含”函数需要一个非可选字符串。
首先,展开文本,然后遍历过滤的匹配并打印它们。
if let text = textArea?.text {
for user in allUser.filter({ $0.name.contains(text) }) {
print(user.name)
}
}
推荐阅读
- c# - 在以下示例中,是什么让同步和异步任务的混合变得如此缓慢?
- python - Scrapy 找不到 div.title
- java - NoClassDefFoundError ResourceFolderType
- npm - 通过 NPM 的 Azure Dev Ops 存储库
- firebase - 是否可以更改原生广告的背景颜色?
- c - '*' 的操作数必须是 c 中的指针错误
- javascript - 无法使用 express.js node.js 发布到我的数据库 mySQLWorkBench
- typescript - 进行属性访问后联合缩小中断
- c - OpenMP 中的#pragma 用于什么?
- javascript - 刷新浏览器时如何更正选择的功能选项?