我运行此功能:
- (void)insertRows {
[_objects insertObject:[NSDate date] atIndex:0];
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
[self.tableView insertRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
}
并且必须运行此功能
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
NSDate *object = _objects[indexPath.row];
cell.textLabel.text = [object description];
return cell;
}
但是这个功能没有运行...请帮忙运行tableView ... function
- (IBAction)insertObject {
[[MasterViewController alloc] insertRows];
}
- 此代码运行insertRows,我通过断点检查
- (IBAction)insertObject:(id)sender {
[_objects insertObject:[NSDate date] atIndex:0];
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
[self.tableView insertRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
NSLog(@"log:insert-indexPath: %i",indexPath.row);
NSDate *object = _objects[indexPath.row];
NSLog(@"log:insert-object %@",object.description);
}
- 与它合作,为什么?
答案 0 :(得分:2)
此代码中存在许多问题:
•可能想要addObject:
到_objects
,而不是insertObject:atIndex:
。
•[[MasterViewController alloc] insertRows];
没有意义。
•绝不应使用init
方法作为向用户显示内容的方法。 description
仅用于调试和记录。
•要触发description
的调用,您通常会tableView:cellForRowAtIndexPath:
该表。即表格视图在更新时调用该方法。
我建议从table view programming guide开始。