应用程序因空值而崩溃,swift 2
app crashes because of null values, swift 2
我正在尝试使用 JSON 广告获取数据,但空值会导致崩溃。
let jsonData:NSDictionary = try NSJSONSerialization.JSONObjectWithData(urlData!, options:NSJSONReadingOptions.MutableContainers ) as! NSDictionary
let success:NSInteger = jsonData.valueForKey("success") as! NSInteger
//code error bad instruction
NSLog("Success: %ld", success);
如何将 null 变为零?
let success = (jsonData["success"] as? NSInteger) ?? 0
一步一步:
- 获取值
jsonData["success"]
(请不要使用 valueForKey
,它的作用完全不同)
as? NSInteger
- 尝试将其转换为 NSInteger
或 return nil
如果它不是数字(在这种情况下,它是一个 NSNull
实例)
?? 0
- 如果 nil
,使用默认值零
我正在尝试使用 JSON 广告获取数据,但空值会导致崩溃。
let jsonData:NSDictionary = try NSJSONSerialization.JSONObjectWithData(urlData!, options:NSJSONReadingOptions.MutableContainers ) as! NSDictionary
let success:NSInteger = jsonData.valueForKey("success") as! NSInteger
//code error bad instruction
NSLog("Success: %ld", success);
如何将 null 变为零?
let success = (jsonData["success"] as? NSInteger) ?? 0
一步一步:
- 获取值
jsonData["success"]
(请不要使用valueForKey
,它的作用完全不同) as? NSInteger
- 尝试将其转换为NSInteger
或 returnnil
如果它不是数字(在这种情况下,它是一个NSNull
实例)?? 0
- 如果nil
,使用默认值零