iphone - когда именно вызывается cellForRowAtIndexPath для табличных представлений и чем - PullRequest
1 голос
/ 01 февраля 2010

У меня просто есть простой (noob) вопрос о вызове cellForRowAtIndexPath?

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

Любой компонент типа UITableViewComponent автоматически вызывает эту функцию при ее создании?

Спасибо

Ответы [ 2 ]

5 голосов
/ 01 февраля 2010

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

Вот справочник класса .

Вот пример:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"FriendCellIdentifier";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
    }

    NSUInteger row = [indexPath row];
    cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
    Item *i = [itemArray objectAtIndex:row];
    cell.textLabel.text = [i name];
    cell.detailTextLabel.text = [i brewery];
    [i release];
    return cell;
}
1 голос
/ 01 февраля 2010

Это вызывается для каждой ячейки, когда рисуется соответствующий UITableView. Передается индексный путь, и в соответствии с номерами разделов и ячеек ваш код должен генерировать UITableViewCell для отображения в пользовательском интерфейсе.

Вы можете посмотреть здесь , чтобы найти краткое руководство по работе UITableViews.

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