将所有自定义XIB Cell TableField数据保存到数组

时间:2015-07-12 04:23:21

标签: objective-c uitableview

我有一个UITableView,它显示了我所拥有的数组中所有数据重复的自定义XIB单元格。我还有一个UIBarButton项,按下后,在该数据数组中添加一个空白条目,然后创建一个新的空白单元格。 (因为numberOfRowsInSection返回[self.array count])

XIB单元格具有清晰的UITextField,因此所有单元格都是可编辑的。每个单元格的文本字段显示数组中的数据,以获取相应的索引。

现在,我想要做的是,当UIBarButton项目“保存”时。按下它,它收集单元格文本字段中的所有数据,并基本上将它们全部保存到数组中。我无法在任何地方找到解决方案,所以感谢任何帮助。提前谢谢!

编辑:我解决了自己的问题。对于那些想知道该怎么做的人:

    for (int i = 0; i < [self.dataArray count]; i++) {
    UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForItem:i inSection:0]];
    for (id subview in [cell.contentView subviews]) {
        if ([subview isKindOfClass:[UITextField class]]) {
            UITextField *textField = (UITextField *)subview;
            self.updatedArray = [NSMutableArray arrayWithObject:textField.text];
            NSLog(@"Cell Text: %@", self.updatedArray);

        }
    }
}

1 个答案:

答案 0 :(得分:0)

您可以遍历表格视图中的所有单元格,并将文本字段的内容添加到数组中。

该示例假设所有单元格都在0部分中,但您可以将其更改为嵌套循环,其中部分的数量起作用。

var saveData = [String]();
for i in 0..<tableView.numberOfRowsInSection(0){
    let cell = tableView.cellForRowAtIndexPath(NSIndexPath(forRow: i, inSection: 0)) as! NameOfYourSubclassedCell;
    saveData.append(cell.textField.text);
}