【问题标题】:Search filter issues in Search Bar in Swift 4Swift 4 搜索栏中的搜索过滤器问题
【发布时间】:2024-04-27 19:20:02
【问题描述】:
let strArray :NSArray = self.filteredArray?.object(at: indexPath.row) as! NSArray

这一行显示的错误是:

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

我怎样才能改变这个?

【问题讨论】:

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

标签: ios swift nsarray nsdictionary swift4


【解决方案1】:

像这样试试。

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

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

【讨论】: