从我所理解的
所以我认为AnyObject的任何实例也可以转换为Any。 直到我发现这个问题:
var data: NSDictionary = NSJSONSerialization.JSONObjectWithData(...)
if let dictionary = data as? Dictionary<String, Any> {
#this code is never called
} else if let dictionary = data as? Dictionary<String, AnyObject> {
#Surprisingly This block is called
}
为什么第一个块永远不会被调用,而第二个块就会被调用。 我知道AnyObject并没有扩展Any,但我很确定我可以将任何AnyObject实例转换为Any。
有人对此事有任何线索或指出我错在哪里吗?感谢