NSMutableArray не сохраняется - PullRequest
       2

NSMutableArray не сохраняется

0 голосов
/ 08 января 2012

Я пытаюсь вставить объекты (NSNumbers) в массив NSMutable, но когда я проверяю его, objectAtElement всегда возвращает 0.

NSNumber *indexNum = [NSNumber numberWithInt:indexInt];
[last100 insertObject:indexNum atIndex:prevCount];
NSLog(@"Entry #%d : %d", prevCount, (int)[last100 objectAtIndex:prevCount]);
prevCount++;

indexInt входит через метод, я уже проверил его и он действителен. indexNum также был проверен и соответствует indexInt. Проблема NSLog(@"Entry #%d : %d", prevCount, (int)[last100 objectAtIndex:prevCount]);, которая всегда возвращает

2012-01-08 14:08:11.551 ThoughtSpreader[20746:fb03] Entry #9 : 0 Номер записи изменится, но всегда будет 0.

О, я также проверял [last100 count] после каждого добавления в него чего-то нового, и он всегда возвращает 0, поэтому я считаю, что это проблема с тем, как я вставляю что-то в массив NSMutable

Ответы [ 3 ]

5 голосов
/ 08 января 2012

Если ваш счетчик всегда возвращает 0, то вероятность того, что вы на самом деле не создали свой NSMutableArray.

NSMutableArray *array = [NSMutableArray array];

[array addObject:[NSNumber numberWithInt:1]];

NSLog(@"%lu", [array count]); // Count => 1

//-------

array = nil;

[array addObject:[NSNumber numberWithInt:1]]; // Calling methods on nil is a no-op

NSLog(@"%lu", [array count]); // Count => 0

Обновлено %d до %lu благодаря @markhunte - трудно помнить мельчайшие детали без их проверки

1 голос
/ 08 января 2012

Используйте

[[last100 objectAtIndex:prevCount] intValue]

вместо

(int)[last100 objectAtIndex:prevCount] - это явное преобразование не будет работать.

[... intValue] - это сообщение NSNUmber, которое преобразует его в int .

0 голосов
/ 08 января 2012

NSNumber - это объект, вы не можете просто привести его к int.Используйте intValue:

NSLog(@"Entry #%d : %d", prevCount, [[last100 objectAtIndex:prevCount] intValue]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...