在Swift中给出以下内容:
var optionalString: String?
let dict = NSDictionary()
Run Code Online (Sandbox Code Playgroud)
以下两个陈述之间的实际区别是什么:
optionalString = dict.objectForKey("SomeKey") as? String
Run Code Online (Sandbox Code Playgroud)
VS
optionalString = dict.objectForKey("SomeKey") as! String?
Run Code Online (Sandbox Code Playgroud) 在我升级到Swift 1.2之前,我可以编写以下行:
if let width = imageDetails["width"] as Int?
Run Code Online (Sandbox Code Playgroud)
现在它迫使我写下这一行:
if let width = imageDetails["width"] as! Int?
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果我被迫按上述方式编写,我不能只编写下面的代码,它会做同样的事情吗?它会在imageDetails的所有值中给出相同的结果吗?
if let width = imageDetails["width"] as Int
Run Code Online (Sandbox Code Playgroud) 为什么在Swift 中有asvs as!vs. as?类型转换?