我希望有人能帮忙......
我已经设置了一个带有四个部分的静态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;
}
所以我的问题归结为..如何更新特定部分中的特定单元格?
由于
答案 0 :(得分:6)
当我实现静态单元格时,我会删除Xcode生成的通用cellForRowAtIndexPath
存根中的numberOfSectionsInTableView
,numberOfRowsInSection
和UIViewController
方法;这些似乎只有在你处理动态细胞时才有必要。
然后,通过在故事板中进行控制拖动,我为需要以编程方式设置的单元格中的所有UI元素创建命名出口;在我的情况下,这些通常是UILabel
s。在控制器的viewDidLoad
方法中,我设置了这些出口的相应初始值,例如:
self.nameLabel.text = self.dataSource.name;
一旦连线,您可以随意更改任何值。
我希望这适合你。我很乐意向那些有更好(更合适?)方式的人学习。
答案 1 :(得分:1)
只需调用 - [UITableView(void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation],然后将为适当的索引路径调用您的数据源。