UITableViewCell定制

时间:2016-04-25 18:17:49

标签: ios objective-c

我想弄明白,下面两点的优点和缺点。两者都很好。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:      (NSIndexPath *)indexPath
{
    UITableViewCell *tableViewCell = nil;
    MyChildUITableViewCell *childTableViewCell =
    (MyChildUITableViewCell*)[tableView dequeueReusableCellWithIdentifier:@"MyChildUITableViewCell"];

    tableViewCell = childTableViewCell;
    return tableViewCell;
}

OR

- (UITableViewCell *)tableView:(UITableView *)tableView     cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{
    MyChildUITableViewCell *childTableViewCell = nil;

    childTableViewCell = (MyChildUITableViewCell*)
    [tableView dequeueReusableCellWithIdentifier:@"MyChildUITableViewCell"];
    return childTableViewCell;
}

1 个答案:

答案 0 :(得分:1)

就像现在一样,这两个代码选项是相同的。如果这就是你要对代码做的所有事情,那么也没有特别的赞成或赞成。

如果您计划在表格中使用不同类型的单元格,我唯一可以想到的是选项1。该代码将很好地设置来处理不同类型的单元格。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:      (NSIndexPath *)indexPath
{
    UITableViewCell *tableViewCell = nil;

    if (conditionsForCellOfType1) {
        MyChildUITableViewCell *childTableViewCell =
        (MyChildUITableViewCell*)[tableView dequeueReusableCellWithIdentifier:@"MyChildUITableViewCell"];

        tableViewCell = childTableViewCell;
    } else {
        DifferentTypeOfCell *differentCell =
        (DifferentTypeOfCell*)[tableView dequeueReusableCellWithIdentifier:@"DifferentTypeOfCell"];

        tableViewCell = differentCell;
    }

    return tableViewCell;
}