Swift 4 搜索栏中的搜索过滤器问题

Posted

技术标签:

【中文标题】Swift 4 搜索栏中的搜索过滤器问题【英文标题】:Search filter issues in Search Bar in Swift 4 【发布时间】:2018-01-31 13:05:33 【问题描述】:
let strArray :NSArray = self.filteredArray?.object(at: indexPath.row) as! NSArray

这一行显示的错误是:

无法将“__NSDictionaryM”(0x1b5b8a800) 类型的值转换为 'NSArray' (0x1b5b89950)。

我怎样才能改变这个?

【问题讨论】:

filteredArray中存储的值类型是什么?根据错误,它是 NSDictionary 并且您要强制将其强制类型转换为 Array 首先要摆脱强制转换,使用if let ... as? NSArray 语法可以防止这种崩溃。之后,您将能够查明为什么要尝试将 NSDictionary 转换为 NSArray 【参考方案1】:

像这样试试。

let strArray : NSDictionary = self.filteredArray?.object(at: indexPath.row) as! NSDictionary;

此错误提示“无法将实际类型 NSDictionary 转换为预期类型 NSArray

【讨论】:

以上是关于Swift 4 搜索栏中的搜索过滤器问题的主要内容,如果未能解决你的问题,请参考以下文章

尝试在 Swift 中使用 UISearchResult。如何实现过滤?

如何在搜索栏中按布尔字段过滤 - django

除非我在搜索栏中点击,否则 SearchController 不会显示未过滤的结果

如何在操作栏中构建类似 Gmail 的搜索框?

ionic 2中多个选项卡中的单个搜索栏过滤项目

仅当搜索栏文本不为空时,如何运行过滤器功能?