Инициализация и загрузка пользовательского uitableviewcell - PullRequest
0 голосов
/ 01 марта 2011

У меня есть Custom uitableviewcell: ScrollViewCell

Я хочу знать, в чем разница между следующим кодом

static NSString *CellIdentifier = @"ScrollViewCell";
ScrollViewCell *cell = (ScrollViewCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {

    //***** WHAT IS THE DIFFERENCE BETWEEN THIS CODE AND..
    NSArray *xibObj = [[NSBundle mainBundle] loadNibNamed:@"ScrollViewCell" owner:nil options:nil];
    for(id currentObj in xibObj){
        if ([currentObj isKindOfClass:[ScrollViewCell class]]) {
            cell = (ScrollViewCell *) currentObj;
        }
    }
    //***** ..THIS CODE
    cell = [[ScrollViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}

Какой я должен использовать и почему?

1 Ответ

0 голосов
/ 01 марта 2011

Первый пример загрузит ячейку из файла .xib в комплекте вашего приложения. Каждая ячейка может обрабатывать свой собственный код и ведет себя во многом как UIViewController. Этот подход может быть сложным, когда вы пытаетесь загрузить данные из массива. Вы должны передать объект, из которого вы получаете данные, в ячейку и иметь очень четкий дизайн, прежде чем начинать кодировать.

Другой метод выделяет пустой экземпляр класса UITableViewCell как обычно. Этот подход обычно используется для программной конфигурации ячеек. Вы, вероятно, увидите это в большинстве мест.

Удачи,

Aurum Aquila

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...