NSArray становится недействительным после назначения - PullRequest
0 голосов
/ 02 июня 2011

Это странная проблема, но два моих NSArrays становятся недействительными сразу после назначения. Я пошел в отладку и подтвердил это во время назначения. На скриншоте все это видно. Должно быть, я где-то упускаю глупую ошибку - кто-то может помочь, пожалуйста!

Ссылка на скриншот

Спасибо!

Ответы [ 2 ]

2 голосов
/ 02 июня 2011

Вам необходимо отправить сообщение -retain в массив при назначении, например:

ivar = [[NSArray arrayWithObjects:@"a", @"b", @"c", nil] retain];

Причина, по которой они выходят из области видимости, заключается в том, что -arrayWithObjects: возвращает объект с автоматическим освобождением.Именно по этой причине вы должны отправить ему сообщение -retain.

Кроме того, не забудьте -release эти объекты в вашем методе -dealloc.

0 голосов
/ 02 июня 2011

Используйте -retain- чувак. Это решит вашу проблему.

...