Iphone 实时:在UITableViewController中将行添加到表中

Iphone 实时:在UITableViewController中将行添加到表中,iphone,objective-c,xcode,uitableview,uibutton,Iphone,Objective C,Xcode,Uitableview,Uibutton,我刚刚检查了应用程序的数据源和UITableView,它们似乎工作得很好。 我可以使用代码-[…initWithObjects:(id),nil]向TableView添加一行,我可以在代码级别这样做 这就是我想做的 在表格顶部创建添加按钮或“+”符号 因此,当应用程序运行时。。如果单击该按钮,我应该能够为该行设置名称 如果我需要创建更多的行并为它们设置名称,我只需按add按钮,然后再次为行键入新名称 如何实时执行此操作?UITableView方法-insertRowsAtIndexPaths:w

我刚刚检查了应用程序的数据源和UITableView,它们似乎工作得很好。 我可以使用代码-[…initWithObjects:(id),nil]向TableView添加一行,我可以在代码级别这样做

这就是我想做的

  • 在表格顶部创建添加按钮或“+”符号
  • 因此,当应用程序运行时。。如果单击该按钮,我应该能够为该行设置名称
  • 如果我需要创建更多的行并为它们设置名称,我只需按add按钮,然后再次为行键入新名称

  • 如何实时执行此操作?

    UITableView方法
    -insertRowsAtIndexPaths:withRowAnimation:
    用于以编程方式将行添加到表中


    相当直接地解决您的问题

    UITableView方法
    -insertRowsAtIndexPaths:withRowAnimation:
    用于以编程方式将行添加到表中


    相当直接地解决您的问题

    这相当简单。。。这是我的记忆,所以我可能在这里或那里有一个打字错误。不过这个想法应该行得通

    tableView:numberOfRowsInSection:
    中,返回[myArray count]+1;(您将在总数中添加一行)

    tableView:cellForRowAtIndexPath:
    中,[indexath行]==[myArray count]所在的单元格是使用“Add row”文本生成单元格的位置,而不是使用任何数据源,因为它指向[myArray count]-1。(我认为这是有道理的)。 比如说,

    if([indexPath row] == [myArray count]){ cell.textLabel.text = @"Add New Item"; } else { cell.textLabel.text = [[myArray objectAtIndex:[indexPath row]] valueForKey:@"title"]; } return cell; if([indexPath行]==[myArray计数]){ cell.textlab.text=@“添加新项”; }否则{ cell.textLabel.text=[[myArray objectAtIndex:[indexPath行]] valueForKey:@“标题”]; } 返回单元; 然后将新记录插入myArray和表中


    至于实际更改新行详细信息,您可以选择使用某种文本输入创建自定义单元格,或者使用带有提示的模态视图控制器。这真的取决于你。

    这相当简单。。。这是我的记忆,所以我可能在这里或那里有一个打字错误。不过这个想法应该行得通

    tableView:numberOfRowsInSection:
    中,返回[myArray count]+1;(您将在总数中添加一行)

    tableView:cellForRowAtIndexPath:
    中,[indexath行]==[myArray count]所在的单元格是使用“Add row”文本生成单元格的位置,而不是使用任何数据源,因为它指向[myArray count]-1。(我认为这是有道理的)。 比如说,

    if([indexPath row] == [myArray count]){ cell.textLabel.text = @"Add New Item"; } else { cell.textLabel.text = [[myArray objectAtIndex:[indexPath row]] valueForKey:@"title"]; } return cell; if([indexPath行]==[myArray计数]){ cell.textlab.text=@“添加新项”; }否则{ cell.textLabel.text=[[myArray objectAtIndex:[indexPath行]] valueForKey:@“标题”]; } 返回单元; 然后将新记录插入myArray和表中


    至于实际更改新行详细信息,您可以选择使用某种文本输入创建自定义单元格,或者使用带有提示的模态视图控制器。这完全取决于您。

    而且不要忘了模型/数据源。但我没有UITableView,只有UITableViewController。找到了;[self tableView]。别忘了模型/数据源。但我没有UITableView,只有UITableViewController。找到了;[self tableView]。我在这里得到了答案。我在这里得到了答案。谢谢,我添加了一个额外的行,犯了[indexPath行]>[myArray计数]的错误。谢谢,我添加了一个额外的行,犯了[indexPath行]>[myArray计数]的错误