我尝试使用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变为零?
答案 0 :(得分:0)
let success = (jsonData["success"] as? NSInteger) ?? 0
一步一步:
jsonData["success"]
(请不要使用valueForKey
,它会做一些完全不同的事情)as? NSInteger
- 尝试将其投放到NSInteger
或返回nil
,如果它不是数字(在这种情况下,它是NSNull
实例)?? 0
- 如果nil
,请使用默认值零