2015-06-09 1 views
2

Привет всем я одна проблемы в разборе словаря здесь словарьАнализировать NSMutableDictionary и значение экстракта

{ 
    "@id" = 10; 
    activityLocation = ""; 
    activityPriority = 1; 
    actualEndDate = "<null>"; 
    actualStartDate = "<null>"; 
    children =   (
    ); 
    } 

я получаю это в JSON товара, и когда я пытался разобрать этот dictionay и попытался получить @Id значение из словаря он дает мне ошибку, как

[<__NSCFDictionary 0x7b07d370> valueForUndefinedKey:]: this class is not key value coding-compliant for the key id. 

Я попытался получить @Id значение, как показано ниже код

NSString *id_user = [dictResponce valueForKey:@"@id"]; 
int user_id = [id_user intValue]; 

Пожалуйста, предложите мне, где я буду неправильно

ответ

0

Вы не можете использовать способ получения соответствующего объекта из NSDictionary, он должен быть NSString *id_user = [dictResponce objectForKey:@"@id"];.

Для получения объекта ANN с valueForKey:, он должен быть NSMutableDictionary

EDIT:

Реальная проблема заключается не в valueForKey: метод, это ошибка в ключе, вы не можете использовать ведущую @ в a valueForKey: метод, потому что @ используется для операторов сбора, таких как @sum, @count и т. д. (его метод valueForKeyPath:, я не знаю, почему его исключение для зачистки в методе valueForKey: также) Код: https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/KeyValueCoding/Articles/CollectionOperators.html#//apple_ref/doc/uid/20002176-BAJEAIEE

0

Вы должны использовать objectForKey: не valueForKey: -

NSNumber *id_user = [dictResponce objectForKey:@"@id"]; 

Похоже, что идентификатор объекта фактически является NSNumber не NSString, поэтому я также изменилось.