Предположим, у меня есть такая функция:
- (NSSet *) someFunction {
//code...
return [[[NSSet alloc] initWithObjets:obj1, obj2, nil] autorelease];
}
Когда я вызываю эту функцию, нужно ли мне сохранять / освобождать возвращаемое значение? Я предполагаю, что я делаю.
Однако, что если я не делаю авто-релиз, то теперь некоторая функция выглядит следующим образом:
- (NSSet *) someFunction {
//code...
return [[NSSet alloc] initWithObjets:obj1, obj2, nil];
}
В этом случае я предполагаю, что мне нужно разблокировать, но не сохранять возвращаемое значение.
Мой вопрос: что является рекомендуемой / наилучшей практикой для подобных ситуаций? Рекомендуется одна или другая версия someFunction? Спасибо.