Недавно я начал изучать цель-C и какао. Я постепенно начинаю изучать управление памятью. Обычно я понимаю ее логику. Но сейчас я немного смущен. Вот моя проблема:Утечка памяти UISearchDisplayController складывается при наборе
Я пытаюсь сделать простое приложение ios с функцией поиска. У меня есть UISearchDisplayController с UISearchbar внутри UITableViewController, который просачивается (инструменты ...), как ад, когда я что-то печатаю в нем. Компилятор и анализатор не показывают никаких предупреждений или ошибок. Просто инструменты.
Я получаю ошибку от этой линии внутри метода handleSearchTerm:
self.searchResults = [[datenSort filteredArrayUsingPredicate:predicate] mutableCopy];
Вот мой метод handleSearchTerm:
- (void)handleSearchForTerm:(NSString *)searchTerm
{
self.savedSearchTerm = searchTerm;
if ([self searchResults] == nil)
{
NSMutableArray *array = [[NSMutableArray alloc] init];
self.searchResults = array;
[array release], array = nil;
}
[[self searchResults] removeAllObjects];
if ([[self savedSearchTerm] length] != 0)
{
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(Name contains[cd] %@)", searchTerm];
self.searchResults = [[datenSort filteredArrayUsingPredicate:predicate] mutableCopy];
}
}
свойства будут освобождены в методе dealloc. и они:
@property (nonatomic, copy) NSString *savedSearchTerm;
@property (nonatomic, retain) NSMutableArray *datenSort;
@property (nonatomic, retain) NSMutableArray *searchResults;
и это, как я положил их в Tableview: cellForRowAtIndexPath:
if(tableView == self.searchDisplayController.searchResultsTableView){
dataItem = [searchResults objectAtIndex:indexPath.row];
}else {
dataItem = [datenSort objectAtIndex:indexPath.row];
}
ваши ответы очень высоко ценится!