Вам необходимо отправить сообщение -retain
в массив при назначении, например:
ivar = [[NSArray arrayWithObjects:@"a", @"b", @"c", nil] retain];
Причина, по которой они выходят из области видимости, заключается в том, что -arrayWithObjects:
возвращает объект с автоматическим освобождением.Именно по этой причине вы должны отправить ему сообщение -retain
.
Кроме того, не забудьте -release
эти объекты в вашем методе -dealloc
.