【问题标题】:Could not cast value of type '()' (0x2c2fb50) to 'Swift.AnyObject无法将类型“()”(0x2c2fb50)的值转换为“Swift.AnyObject”
【发布时间】:2015-10-28 10:31:12
【问题描述】:

代码:

let Predicate = NSPredicate(format: "self CONTAINS[cd] %@", searchText)
let result:NSArray  = arrCountryList?.filterUsingPredicate(Predicate) as! AnyObject! as! NSArray
arrCountryList = result.mutableCopy() as! NSMutableArray

我有一个国家/地区列表。

我尝试使用 NSPredicate 进行过滤,但它给出了这个错误。

如何解决?

【问题讨论】:

  • arrCountryList 是什么数据类型?为什么NSArray之前需要从AnyObject!传递?
  • 我收到来自“Void?”的演员警告到不相关的类型 'NSArray' 总是失败,这就是为什么传递给 nsobject

标签: ios swift nsarray swift2 nspredicate


【解决方案1】:
let Predicate = NSPredicate(format: "self CONTAINS[cd] %@", searchText)

let result:NSArray  = arrCountryList.filteredArrayUsingPredicate(Predicate)

arrCountryList = result.mutableCopy() as! NSMutableArray

【讨论】:

    猜你喜欢
    • 2017-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多