Это один из моих методов.Как освободить память сохраненного объекта
- (void)getSearchResultsByKeyword:(NSString *)keyword
searchOptions:(NSArray *)searchOptions
searchGroupsInResult:(NSArray *)searchGroupsInResult
{
_searchKeyword = [keyword retain];
_searchOptions = [searchOptions retain];
_searchGroupsInResult = [searchGroupsInResult retain];
[_searchResultsGroups removeAllObjects];
[_searchResultsGroupsIndexToNameMap removeAllObjects];
_pageNo = 1;
[[NSNotificationCenter defaultCenter] postNotificationOnMainThreadName:SearchResultsRetrievingStartLodingNotification
object:self];
[_dataProvider startGettingSearchResultsByKeyword:self.searchKeyword
searchOptions:_searchOptions
searchGroupsInResult:_searchGroupsInResult
pageNo:_pageNo
delegate:self];
}
В моем методе я назвал сохранение объектов, которые являются параметрами. Таким образом, я владел объектом и увеличил количество удержаний. Поэтому моя проблема заключается в том, как уменьшить количество остатков после
[_dataProvider startGettingSearchResultsByKeyword:self.searchKeyword
searchOptions:_searchOptions
searchGroupsInResult:_searchGroupsInResult
pageNo:_pageNo
delegate:self];
звонок. ([keyword release]
или [_searchKeyword release]
) ??
В моем файле заголовка я объявил _searchOptions
частным экземпляром и _searchKeyword
как readonly
. В моем файле реализации я выпустил оба экземпляра в dealloc
.
Я запустил инструмент анализа, и это не показало эту проблему как проблему. Но я сомневаюсь в этом.
Итак, пожалуйста, покажите мне необходимый способ работы над этой штукой.
Я работаю над XCode4 и iOS 4.3.
Спасибо.
Вы отпускаете объект с '[object_address release]'. –