0

configureCall:atIndexPathに渡されるセルオブジェクトで何が起こっているのか少し戸惑っています。何が起こっているかはわかりますが、configureCall:atIndexPath:がUITableViewCellを戻り値として返さないのは奇妙です。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *cellID = @"PLANETCELL_ID";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
    if(cell == nil) ...

    // POPULATE CELL NEW
    [self configureCell:cell atIndexPath:indexPath];
    return cell;
}

- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath {
    Planet *managedPlanet = [[self fetchedResultsController] objectAtIndexPath:indexPath];
    [[cell textLabel] setText:[managedPlanet name]];
    [[cell detailTextLabel] setText:[managedPlanet type]];
}
4

1 に答える 1

1

オブジェクトを返す必要はありませんcell。渡されたオブジェクトはその場で変更されています。このように、configureCellメソッドはオブジェクトを割り当てたり管理したりする必要はありません。呼び出し元によってすでに提供されている渡されたセルに対して必要なことを実行するだけです。

于 2012-08-06T18:23:41.600 に答える