相关疑难解决方法(0)

Swift中的低价选项:as?输入,或者!类型?

在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)

downcast optional optional-variables swift

91
推荐指数
5
解决办法
3万
查看次数

"as?","as!"和"as"之间有什么区别?

在我升级到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)

casting swift

52
推荐指数
2
解决办法
2万
查看次数

0
推荐指数
1
解决办法
345
查看次数