我有一个大型的快速项目从JSON获取许多数据。
很难检查每一个数据的和平性是否为零。
有没有办法捕获所有这些nils,以便我的应用程序在遇到意外的nils时不会崩溃?或者我必须在我拥有的所有数据中使用“if let variable = ....”!
由于
答案 0 :(得分:6)
坏消息:是的,你应该经常检查选项。
好消息:有些快捷方式比if let
更实用。例如。您可以提供合理的默认值(使用" nil-coalescing运算符")。
let itemID = jsonData["itemID"] as? NSNumber ?? 0
let stringVariable = jsonData["name"] as? String ?? ""
另请注意,您可以在不嵌套的情况下列出相关if let
语句:
if let person = jsonData["person"] as? [String: AnyObject],
let name = person["name"] as? String {
// process name
}