0

JSON 広告を使用してデータを取得しようとしていますが、null 値があるとクラッシュします。

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をゼロにできますか?

4

1 に答える 1

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

ステップバイステップ:

  1. 値を取得しますjsonData["success"](使用しないでください。valueForKeyまったく別のことを行います)
  2. as? NSInteger- 数値でない場合はキャストするNSIntegerか、戻りnilます (この場合はNSNullインスタンスです)。
  3. ?? 0- の場合nil、デフォルト値のゼロを使用します
于 2016-03-19T15:54:42.423 に答える