Ios 如何在tableview中动态添加节中的行数?

Ios 如何在tableview中动态添加节中的行数?,ios,uiimageview,uitextfield,nsuserdefaults,objective-c-2.0,Ios,Uiimageview,Uitextfield,Nsuserdefaults,Objective C 2.0,投否决票的人注意:这个问题在几天前就已经结束了。如果有人发现这是不必要的,请留下评论 我在一个视图控制器中存储了一些textfield值和uiimage。我在另一个视图控制器中有tableview。我希望在tableview中使用nsuserdefaults存储值,并使用nsuserdefaults检索值,然后希望在用户输入时动态添加行?您可以使用textfield中的字符串维护可变数组 然后根据array.count可以得到数组的大小 - (NSInteger)tableView:(UITab

投否决票的人注意:这个问题在几天前就已经结束了。如果有人发现这是不必要的,请留下评论


我在一个视图控制器中存储了一些textfield值和uiimage。我在另一个视图控制器中有tableview。我希望在tableview中使用nsuserdefaults存储值,并使用nsuserdefaults检索值,然后希望在用户输入时动态添加行?

您可以使用textfield中的字符串维护可变数组

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

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

同时也不要忘记重新加载表视图。

假设您有两个
uiviewcontroller1
带有
UITextFields
uiviewcontroller2
带有
UITableView

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

在移动到
ViewController2

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];
    }
    }

这里发生的事情是,用户点击“新建单元格”按钮。它接受用户的输入。然后在将表添加到数组后重新加载该表。当它到达
numberOfRowsInSection
delegate方法时,它看到数组现在增加了1。因此,它将显示一个额外的单元格。

是的,您可以使用“重新加载表视图”并在表视图中添加运行时的行数或节数。请详细说明……您所说的“按用户输入动态添加行”是什么意思?是否要在运行时添加新单元格,还是要按用户输入的顺序显示数据?屏幕截图将提供帮助。是的,您可以在运行时添加单元格。@Uma当您访问
表视图时,数组计数是否会更新?在调用[tableview relaodData]之前,是否将新单元格的数据添加到数组中方法?@NSNoob我无法添加到新单元格。@Uma那么,您的数组有问题了。您没有正确地将对象添加到textfield值数组中。如果数组计数没有得到更新,那么如何正确显示数据?那么您必须使用
UITextField
。使用它从用户处获取文本。当条目结束时,将其添加到数组中并重新加载TableView。我刚刚编辑了代码。现在,它将在运行时从用户处获取值,并在按下OK键时将其显示在表中