这是我的方法之一。如何释放保留对象的内存
- (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]'释放一个对象。 – 2012-03-29 16:32:08