在解开一个Optional值时捕获所有"意外发现的nil"

Zuh*_*Ali 2 error-handling ios swift

我有一个大型的快速项目从JSON获取许多数据.

无论是否为零,都很难检查每一个数据的和平性.

有没有办法捕获所有这些nils,以便我的应用程序不会崩溃,当它得到意想不到的nils?或者我必须在我拥有的所有数据中使用"if let variable = ...."!

谢谢

Mun*_*ndi 6

坏消息:是的,你应该经常检查选项.

好消息:有些捷径比实用更快捷if let.例如,您可以提供合理的默认值(使用" nil-coalescing operator ").

let itemID = jsonData["itemID"] as? NSNumber ?? 0
let stringVariable = jsonData["name"] as? String ?? ""
Run Code Online (Sandbox Code Playgroud)

另请注意,您可以在if let不嵌套的情况下列出相关语句:

if let person = jsonData["person"] as? [String: AnyObject],
   let name = person["name"] as? String { 
      // process name
}
Run Code Online (Sandbox Code Playgroud)