2

我希望有人能帮帮忙...

我已经设置了一个包含四个部分的静态 UITableView 控制器。前两个部分用于输入数据。第三部分有 1 个单元格并包含一个保存按钮。

最后一部分有 6 个单元格,从长远来看,我希望能够用前两个部分的数据填充这六个单元格......

所以我尝试了一个小例子,但它不起作用。控制台返回以下错误:

UITableView dataSource 必须从 tableView 返回一个单元格:cellForRowAtIndexPath:' *首先抛出调用堆栈:

这是一个例子:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";

    NSIndexPath *EditRow = [NSIndexPath indexPathForRow:1 inSection:4];
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:EditRow];

    NSString *test = @"Test";
    cell.textLabel.text = test;

    NSLog(@"Index Path: %d", indexPath.row);
    NSLog(@"Cell ID:, %@", CellIdentifier);

    return cell;
}

所以我的问题归结为..如何更新特定部分中的特定单元格?

谢谢

4

2 回答 2

5

当我实现静态单元格时,我从Xcode 生成的通用存根中删除了cellForRowAtIndexPathnumberOfSectionsInTableView和方法;这些似乎只有在您处理动态单元格时才有必要。numberOfRowsInSectionUIViewController

然后,通过在情节提要中进行控制拖动,我为单元格中需要以编程方式设置的所有 UI 元素创建命名出口;就我而言,这些通常是UILabels。在viewDidLoad控制器的方法中,我给这些网点设置了合适的初始值,例如:

self.nameLabel.text = self.dataSource.name;

一旦你把它连接起来,你可以随意改变任何值。

我希望这对你有用。我很乐意向任何有更好(更合适?)这样做的人学习。

于 2012-07-07T16:38:08.597 回答
1

只需调用 - [UITableView (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation],然后您的数据源将被调用以获取适当的索引路径。

于 2012-07-06T15:43:03.417 回答