0

我正在尝试使用 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);

我怎样才能将空值归零?

4

1 回答 1

0
let success = (jsonData["success"] as? NSInteger) ?? 0

一步步:

  1. 获取价值jsonData["success"](请不要使用valueForKey,它会做一些完全不同的事情)
  2. as? NSInteger-如果不是数字,则尝试将其转换为NSInteger或返回(在这种情况下,它是一个实例)nilNSNull
  3. ?? 0- 如果nil,使用默认值零
于 2016-03-19T15:54:42.423 回答