查看此代码(ARC打开):
-(BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString {
dispatch_queue_t fetchDataQueue = dispatch_queue_create("Fetch Data Queue", nil);
dispatch_async(fetchDataQueue, ^{
NSArray *temp = [Product retrieveProductsByName:searchString];
dispatch_async(dispatch_get_main_queue(), ^{
_products = [temp copy];
[controller.searchResultsTableView reloadData];
});
});
dispatch_release(fetchDataQueue);
return NO;
}
真的安全吗?我的临时NSArray会自动释放吗?
答案 0 :(得分:2)
是的,如果您有ARC,那将自动完成。当然,Mac OS X是一个现代化的系统,如果您的应用程序终止,通常会释放所有对象。