Objective-C / Тензодатчик от XIB / Нужно объяснение

Хорошо, я знаю, как загрузить пользовательскую ячейку из XIB, с помощью этого кода:

NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustpmCellView" owner:self options:nil];
cell = (CustomCell *)[nib objectAtIndex:0];

Но кто-то может объяснить, что делает первый ряд?

Я чувствую себя действительно глупо, печатая это каждый раз и не зная, как именно это работает.

2 ответа

Решение
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustpmCellView" owner:self options:nil];

loadNibNamed возвращает все просмотры под вашим XIB. Таким образом, мы держим это в массиве. Скажем, все представления в CustpmCellView будут получены и сохранены в массиве nib.

cell = (CustomCell *)[nib objectAtIndex:0];

Мы получаем первое представление из массива, так как это наше желаемое представление, а затем мы приводим и присваиваем объект ячейки.

Нам нужно назначить новый вид для каждой ячейки в UITableViewТаким образом, для этой цели каждый раз требуется новая ячейка, и мы делаем это, используя приведенный выше фрагмент кода.

РЕДАКТИРОВАТЬ

[NSBundle mainBundle], объяснено в Что смысл [NSBundle mainBundle] в iPhone?

Согласно Документам

loadNibNamed:owner:options:

Разархивирует содержимое файла пера, расположенного в связке получателя.

- (NSArray *)loadNibNamed:(NSString *)name owner:(id)owner options:(NSDictionary *)options

параметры

name Имя файла пера, который не должен включать расширение.nib.

владелец

Объект, который нужно назначить как объект-владелец файла пера.

опции

Словарь, содержащий параметры, используемые при открытии файла пера. Список доступных ключей для этого словаря см. В разделе "Параметры загрузки Nib-файлов".

Возвращаемое значение

Массив, содержащий объекты верхнего уровня в файле пера. Массив не содержит ссылок на владельца файла или какие-либо прокси-объекты; он содержит только те объекты, которые были созданы при разархивировании nib-файла. Вы должны сохранить либо возвращенный массив, либо содержащиеся в нем объекты вручную, чтобы предотвратить преждевременное освобождение объектов файла nib.

Другие вопросы по тегам