просто выпустить его автоматически:
return [arrRecentSearch autorelease];
Для получения дополнительной информации о том, как это работает
, ознакомьтесь с
рекомендациями по управлению запиской apple
Если вы собираетесь вернуть автоматически освобожденный объект, вы должны помнить, чтобы сохранить его, если хотите сохранить его позже. т.е. если у нас есть функция, которая возвращает автоматически освобожденный массив
- (NSArray *) getSearchResults {
return [[[NSArray alloc] init] autorelease];
}
и вы хотите запомнить результаты поиска на потом, вы должны не забыть сделать это:
...
NSArray *results = [[self getSearchResults] retain]; //!< Remember the retain here!
...
или вы можете использовать свойство для его хранения:
@property (nonatomic, copy) NSArray *searchResults;
...
self.searchResults = [self getSearchResults]; //!< The property handles the retain for you here
...
В любом случае, если вы просто оставите его как автоматически выпущенный, он исчезнет, и вы получите исключение!
РЕДАКТИРОВАТЬ: Только что понял MustISignUp ответил на это в комментарии!