【发布时间】:2015-01-21 19:09:49
【问题描述】:
我在这一行中发现了这个错误:如果在我的代码上缓存 === nil:
struct dataArray {
var dataById = Dictionary<String, Any>()
}
var id :String?
func dataBegin() {
let idString = id as String!
let byCategory = [dataArray().dataById[idString]]
if byCategory === nil { //error:'[Any?]' is not convertible to 'Anyobject?'
// some code
}
}
【问题讨论】:
-
该行的意图是什么?
===是标识运算符没有意义,除非 lhs 和 rhs 都是指向对象实例的变量。其次,你刚才说byCategory是一个数组,所以它永远不可能是nil。