2016-03-19 15 views
0

JSON reklamı kullanarak veri almaya çalışıyorum, null değeri var, çökme neden oluyor.app null değerlerden dolayı çöküyor, hızlı 2

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); 

Sıfır değerini nasıl sıfırlayabilirim? Adım

cevap

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

adım:

  1. değeri elde jsonData["success"]
  2. as? NSInteger (valueForKey kullanmayın, tamamen farklı bir şey yapar ediniz) - NSInteger için döküm deneyin ya nil dönmek Eğer bir sayı değilse (bu durumda, bu bir NSNull örneğidir)
  3. ?? 0 - nil ise, varsayılan değer
+0

Cevabınız için teşekkürler, ancak bu satır aktif hale getirildi: 'jsonData [" error_message "]? NSString! = Nil { error_msg = jsonData ["error_message"] olarak! NSString } else { error_msg = "Bilinmeyen Hata" } ' – VahidGR

+0

@VahidGR Bu satır soruda bile görünmüyor. Daha fazla hata varsa, lütfen önce kendiniz düzeltmeye çalışın ve sonra başka bir soru sorun. Ayrıştırmaya çalıştığınız JSON verilerini de eklemeyi unutmayın. – Sulthan

+0

üzgünüm. teşekkür ederim – VahidGR

İlgili konular