2012-06-13 3 views
0

У меня возникла проблема с хранением экземпляров объекта viewController. Я хочу, чтобы каждый пользователь имел свой собственный экран с некоторой информацией об этом, а затем мог сделать модальный, чтобы переключить пользователя.Объекты не хранятся в NSMutableArray

Класса экземпляр «User» и массив «Users» определены в файл .h и цикл выполняется 5 раз - но массив никогда не будет заселен:

- (void) chooseNumberOfUsers:(id)sender { 
    numberOfUsers = [sender tag]; 
    NSLog(@"Number of users: %i", numberOfUsers); 

    currentUser = 0; // Nul-indekseret 

    // Herefter skal vi oprette spillerobjekter 
    users = [[NSMutableArray alloc] init]; 
    for (int i=0; i<numberOfUsers; i++) { 
     user = [[UserViewController alloc] init]; 
     user.userid = i+1; 
     [users addObject:user]; 
    } 
    [users addObject:nil]; // Is this necessary? 

    // Debug: show info about the first user 
    NSLog(@"%@", [users objectAtIndex:0]); } 

Пользовательский объект являются но, как уже упоминалось, массив «пользователей» никогда не заполняется.

Когда он пробежать 5 раз, он выдает эту ошибку:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* -[__NSArrayM insertObject:atIndex:]: object cannot be nil'

ответ

2

Следующая строка вызывает ошибку

[users addObject:nil]; // Is this necessary? 

Как говорится исключения, вы не можете добавить ноль к NSArray. Если вам когда-либо понадобится добавить нулевое значение в коллекцию Cocoa, NSNull - это способ сделать это.

+0

Спасибо большое :) – Anders

Смежные вопросы