Почему мой массив остается пустым? - PullRequest
1 голос
/ 14 января 2010

Привет, я нуб. У меня проблема с заполнением NSMutableArray объектами.

for(id p in tmpArray){
    Person *person = [[Person alloc] init];
    person.usrName = p;
    [persons addObject:person]; // after this line the persons
                                // array is still empty
    [person release];
}

Persons - это свойство NSMutableArray, и проблема в том, что оно пустое. Это высвобождение объекта person слишком рано или я неправильно его описал?

Ответы [ 2 ]

2 голосов
/ 14 января 2010

Вам нужно инициализировать ваш массив в методе -init, например:

NSMutableArray *array = [[NSMutableArray alloc] init];
self.persons = array; // will be automatically retained 
                      // because you're using the property
[array release]; // we alloced - we release it

Не забудьте выпустить его:

-(void)dealloc {
     self.persons = nil; // previous value of property 'persons' will be released
     [super dealloc];
}
2 голосов
/ 14 января 2010

Убедитесь, что вы выделили и инициализировали массив, прежде чем пытаться что-то добавить к нему

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