2016-12-02 4 views
9

Я застреваю в точке, когда я конвертирую данные из веб-сервисов в NSDictionary. Но при доступе на консоль в режиме отладки он возвращается, а когда я связываю значения словаря с представлением, он отлично работает. Ниже приведен код: -<извлечение данных из значения не удалось> в NSDictionary

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

и на консоли я использую po [dictName valueForKey:@"Status"], а также ро [dictName objectForKey:@"Status"]. Последующие несколько шагов, но не работают для меня 1. установка уровня оптимизации никому уже в этом режиме. 2. Извлечь схему в режим отладки уже в этом режиме.

+0

Вы пробовали распечатать весь словарь. 'po responseDict' –

+0

да весь словарь печатает значения !!! –

+0

Поиск по напечатанному 'Dict', имеет ли он' Status' Key. –

ответ

1

Я встречаюсь с этой проблемой, когда пытаюсь получить информацию от Info.plist. Наконец, я использую строку обмена.

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

Кроме того: тогда вы можете отличить строковое значение до значения bool, например version.boolValue, или указать числовое значение, например version.numberValue, если хотите, и т. Д. Bool и, возможно, некоторые другие типы могут неверно извлекать из plist-словарей , поскольку plist-словари могут быть на самом деле иметь json-формат; это мое предположение. Строковые значения извлекаются отлично, однако вы можете видеть ошибки при извлечении, например, в Xcode-консоли через po: (po plistDictionary [@ "someKeyForExtractingStringValue"]) – pragmus

Смежные вопросы