Ваш код будет выделять новый экземпляр filteredListContent
каждый раз, когда вызывается reloadTable
, что обычно происходит несколько раз в течение жизненного цикла вашего приложения.Это приводит к утечке, поскольку старые экземпляры не освобождаются.
Лучший (и самый простой) способ исправить это было бы сделать свойство filteredListContent
a retain
:
в заголовке вашего класса:
@property (nonatomic, retain) NSMutableArray * filteredListContent;
в вашем методе reloadTable:
self.filteredListContent = [NSMutableArray arrayWithCapacity:[showList count]];
Примечаниеиспользование self.
во втором фрагменте кода.Этот синтаксис информирует Cocoa о том, что он должен использовать средство доступа к свойству для установки значения filteredListContent
, которое затем отправит вам соответствующие сообщения retain
и release
.