Инициализация делает целое число без приведения - PullRequest
1 голос
/ 05 июня 2011

Я получаю это предупреждение, и я не уверен, как это исправить.Строка, где я получаю предупреждение:

NSInteger thescore = [[myDictionary objectForKey:@"Score"] objectAtIndex:0];

Если это имеет значение, myDictionary является NSDictionary

Редактировать: Как это?Кстати, мой массив - NSMutableArray, а не NSArray

NSInteger thescore = [[myDictionary valueForKey:@"Score"] integerValue];

Edit 2: @Bavarious упомянул, что я должен сделать следующее:

int thescore = [[myDictionary objectForKey:@"Score"] integerValue];

1 Ответ

1 голос
/ 05 июня 2011

Результатом вызова [someArray objectAtIndex:0] является объект.И NSInteger - это примитивный тип:

typedef long NSInteger;

(cmd + двойной щелчок на NSInteger в xcode, чтобы увидеть определение)

Я полагаю, вы на самом деле сохраняете NSNumber объекты в вашем массиве.В этом случае вы могли бы сделать

NSNumber *thescore = [someArray objectAtIndex:0];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...