Вопрос прост: Как вы загружаете на заказ UITableViewCellиз XIb файлов? Это позволяет использовать Interface Builder для разработки ваших клеток. Ответ , по- видимому, не просто из - за проблемы Managment памяти. Эта нить упоминает проблему и предлагает решение, но предварительно NDA-релиз и не имеет коды. Вот длинная нить , которая обсуждает вопрос без предоставления окончательного ответа.
Вот код, который я использовал:
static NSString *CellIdentifier = @MyCellIdentifier;
MyCell *cell = (MyCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CellIdentifier owner:self options:nil];
cell = (MyCell *)[nib objectAtIndex:0];
}
Чтобы использовать этот код, создать MyCell.m / .h, новый подкласс UITableViewCellи добавить IBOutletsдля компонентов , которые вы хотите. Затем создайте новый файл «Пустой XIB». Откройте файл XIb в IB, добавить UITableViewCellобъект, установите его идентификатор «MyCellIdentifier», и установить его класс MyCell и добавить свои компоненты. И, наконец, подключить IBOutletsк компонентам. Обратите внимание , что мы не установили владельца файла в IB.
Другие методы пропаганда Настройки файла владелицы и предупреждать утечки памяти, если XIb не загружается через дополнительный класс фабрики. Я тестировал выше в разделе Инструменты / Утечки и не видел утечек памяти.
Так что канонический способ загрузки клеток из Xibs? установлен ли мы файл владелец? Нужен ли нам завод? Если да, то это код завода выглядеть? Если существует несколько решений, давайте проясним плюсы и минусы каждого из них ...














