2015-08-02 4 views
0

Мой код получает данные json от сервера и присутствует в UItable. здесь это формат моего файла josn с сервера:Как получить доступ к элементу NSdictionary с зарезервированным ключевым словом?

[ 
    { 
    "id": 4342, 
    "name": "Strawberries and Cream Cake", 
    "difficulty": 3, 
    "created_at": "2014-09-29T10:43:00.072Z", 
    "updated_at": "2014-11-26T11:53:58.451Z", 
    } 
] 

Мне нужно получить доступ к элементу «ID», я пишу следующий код в.

(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { 

NSDictionary *tempDictionary=[recipes objectAtIndex:indexPath.row]; 
int recipesID= [tempDictionary objectForKey:@"id"]; 

Этот код дает мне неправильный номер, плюс вторая линия становится воюющей для «несовместимого указателя на целое преобразование инициализации .... Я знаю, что идентификатор является зарезервированным ключевым словом, но мне нужно получить доступ . этот элемент у меня не реализовать сервер так, я не могу изменить идентификационное имя элемента есть ли у вас какие-либо предложения, как получить к нему доступ

+0

, потому что вы получаете NSNumber, а не int, вам нужно вызвать 'intValue' на возвращаемом NSNumber – luk2302

ответ

0

Замените последнюю строку с этим:.?

NSInteger recipesID= [[tempDictionary objectForKey:@"id"] intValue]; 

по путь, id сам по себе является зарезервированным ключевым словом в iOS, однако вы используете его в строке, поэтому он не интерпретируется как ключевое слово компилятором. Итак, нет причин беспокоиться об этом здесь.