2016-12-02 19 views
9

Web hizmetlerinden NSDictionary'a veri dönüştürdüğüm bir noktada takılıyorum. Ancak hata ayıklama modunda konsolda erişirken, döndürürken sözlük değerlerini bağladığımda mükemmel çalışır.<değerde veri ayıklanamadı> NSDictionary öğesinde

NSDictionary *responseDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:&e]; 

ve konsoldan i po [dictName valueForKey:@"Status"] yanı sıra po [dictName objectForKey:@"Status"] kullanıyorum: - Aşağıda kodudur. Birkaç adım izledim ama benim için çalışmıyor 1. Optimizasyon düzeyini bu modda hiçbiri olarak ayarlama. 2. Bu modda zaten hata ayıklama modunu düzenleyin.

+0

Tüm sözlüğü yazdırmayı denediniz mi? po responseDict' –

+0

evet tüm sözlük değerleri yazdırıyor !!! –

+0

Basılı "Dict" ile "Durum" Anahtarına sahip olup olmadığına bakın. –

cevap

1

Info.plist'dan bilgi almaya çalıştığımda bu sorunla karşılaşıyorum. Sonunda dize değişimi kullanıyorum.

NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"Info"ofType:@"plist"]; 
    NSMutableDictionary *data = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath]; 
    NSString *version = [data objectForKey:@"CFBundleShortVersionString"]; 
    self.labVersion.text = [NSString stringWithFormat:@"(%@)", version]; 
+0

Ayrıca: string değeri bool değerine, örneğin version.boolValue'a veya sayı değerine, örneğin version.numberValue, vb. Atayabilirsiniz. Bool ve diğer bazı türler plist-dictionary'lardan hatalı özüm olabilir çünkü sözlüklerin sözlükleri aslında json formatına sahip olabilir; bu benim varsayım. Dize değerleri mükemmel bir şekilde ayıklanır, ancak örneğin Xcode-konsolunda po ile çıkarılırken hataları görebilirsiniz: (po plistDictionary [@ "someKeyForExtractingStringValue"]) – pragmus

İlgili konular