如何在表视图中动态添加部分中的行数?

How to add number of rows in section dynamically in tableview?

投反对票的人请注意:这个问题很多天前就被关闭了。如果有人发现哪个不是必需的,请发表评论

我有一些文本字段值和 uiimage 存储在一个视图控制器中。我在另一个视图控制器中有 tableview。我想在表视图中使用 nsuserdefaults 存储值并使用 nsuserdefaults 检索然后想在用户输入时动态添加行?

您可以使用文本字段中的字符串维护一个 Mutable 数组。

然后根据array.count可以得到数组的大小

- (NSInteger)tableView:(UITableView *)tableView
 numberOfRowsInSection:(NSInteger)section
{
  return array.count
}

并且不要忘记重新加载 table 视图。

假设您有两个 UIViewControllers ViewController1UITextFields 以及 ViewController2UITableView

现在在 ViewController2 中声明一个 NSMutableArray *dataArray;

并在移动到 ViewController2

之前从 ViewController1 添加记录

ViewController2 使用此功能

 - (NSInteger)tableView:(UITableView *)tableView
 numberOfRowsInSection:(NSInteger)section
{
  return dataArray.count;
}

会有帮助。

假设您有一个 NSMutableArray 这样的数据:

NSMutableArray *cellLabelValues = [[NSMutableArray alloc] initWithObjects: @"1",@"2",@"3",nil];

在您的 tableView 代表中执行此操作:

- (NSInteger)tableView:(UITableView *)tableView
 numberOfRowsInSection:(NSInteger)section
{
  return cellLabelValues.count;
}

您必须有一个按钮或其他东西来接收用户添加新单元格的意图。让我们假设它调用这个方法:

   -(void) addNewCell:
    {
       UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Enter New Value"
                                                message:@"  "   
                                               delegate:self 
                                      cancelButtonTitle:@"Cancel"
                                      otherButtonTitles:@"OK", nil];
alert.alertViewStyle = UIAlertViewStylePlainTextInput;
[alert show];
    }

并写UIAlertView的委托。确保您已将 ViewController 设为 UIAlertViewDelegate:

 - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
        if (buttonIndex == 1) {
            NSString *value = [alertView textFieldAtIndex:0].text;
            [cellLabelValues addObject:value];
            [tableView reloadData];
    }
    }

这里发生的是,用户点击新单元格按钮。它需要用户输入。然后它将 table 添加到您的数组后重新加载。当它到达 numberOfRowsInSection 委托方法时,它看到数组现在增加了 1。因此它会显示一个额外的单元格。