Неверный тип получателя int - PullRequest
0 голосов
/ 02 июля 2010

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

NSArray *oneMove;
oneMove = [[bestMoves objectAtIndex:i] componentsSeparatedByString:@","];
int from, to;
int temp = [[oneMove objectAtIndex:0] intValue];

from = [temp intValue]/100; //"Invalid receiver type int"
to = [temp intValue]%100;   //"Invalid receiver type int"

NSLog(@"%d, %d", from, to);

Дело в том, что это работает, и "от" и "до" получают правильные значения, но я получаю предупреждения наобозначенные линии ...

Кто-нибудь знает, почему и как это исправить?(не нравятся их предупреждения при компиляции;))

1 Ответ

3 голосов
/ 02 июля 2010

температура уже int значение, нет NSNumber. Поэтому вы не можете отправить ему сообщение [temp intValue].

Просто используйте

from = temp / 100;
to = temp % 100;

Редактировать: Вот код, который доказывает, что это работает:

NSArray *bestMoves = [NSArray arrayWithObject:@"499,340,124"]; // Example data
NSArray *oneMove  = [[bestMoves objectAtIndex:0] componentsSeparatedByString:@","];
int from, to;
int temp = [[oneMove objectAtIndex:0] intValue];

from = temp/100; // Code change
to = temp%100;   // Code change

NSLog(@"%d, %d", from, to);

Выход соответствует ожидаемому 4, 99.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...