这真的是我在 swift 中不理解的地方: 它可以总结为以下代码:
var dic: Dictionary<String, AnyObject> = ["please": "show me the way"]
var way: String? = dic["please"] as? String
编译失败并抛出:'String' is not a subtype of '(String, AnyObject)'
但是,如果我改为编写以下代码:
var way: String? = dic["please"] as? NSString
一切都是绿色的。这就像 String 不被识别为 AnyObject 的子类,但 NSString 是。
所以请告诉我路:)
请您参考如下方法:
确实:
// error: Non-class type 'String' cannot conform to class protocol 'AnyObject'
extension String : AnyObject {
}
因此您应该改用Any。
