Предполагая, что я написал код ниже для класса A:
-(NSArray *) returnListNames {
NSArray *returnList = [NSArray arrayWithArray:myListNames];
return (returnList);
}
И в классе BI получим этот список в некоторой области следующим образом:
{
/* Without ARC I would retain the array returned from ClassA
to guarantee its reference like this:
[[myClassA returnListNames] retain]; */
NSArray *myNames = [myClassA returnListNames];
}
Учитывая, чтоreturnList
был выделен с помощью метода автоматического выпуска, как я могу гарантировать, что я не потеряю ссылку на него с помощью ARC (при котором я не могу использовать retain
)?Должен ли я использовать [[NSArray alloc] init]
в массиве myNames
?Или я должен использовать alloc
на returnList
вместо метода автоматического выпуска?Или я могу просто положиться на ARC?Или есть другое решение?