Сценарий. У меня есть метод, который возвращает объект, извлеченный из NSMutableArray, аналогично следующему коду, который был упрощен (предположим, что «myArray» и «currentIndex» являются iVars для класса, в котором находится этот метод):
- (MyObject *)getFromArray
{
return [myArray objectAtIndex:currentIndex];
}
Стоит ли мне так звонить на авто-релиз?
- (MyObject *)getFromArray
{
return [[myArray objectAtIndex:currentIndex] autorelease];
}
Я знаю, что autorelease вызывается для объекта массивом, когда он возвращает указанный объект, но я понимаю, что объект autoreleased действителен только на время действия вызывающей стороны, в данном случае описанного выше метода. Итак, будет ли правильное использование автоматического выпуска (как показано выше во 2-м фрагменте кода) правильным способом убедиться, что рассматриваемый объект действителен для вызывающей стороны моего метода? Просто пытаюсь убедиться, что мои рассуждения и понимание того, как работает авто-релиз, верны.
Спасибо!