iOS Swift - 在退出/保存时从自定义表格视图单元格导出数据

时间:2016-09-05 06:45:28

标签: ios swift uitableview

我有一个带有5个自定义UITableViewCells的UITableView。在自定义UITableViewCells中,我有我的UI元素的IBOutlets(UILabel,UITextField)。我无法为视图控制器中的UI元素创建IBOutlets,因为它们已经链接到我的自定义UITableViewCells。

我希望能够在按下“保存”类型的UIBarButtonItem时访问UITableViewCells中的数据。为了将我的UITableViewCells中的数据解析为我自己的类。

我已经在返回控制器中编写了unwind方法,并在源控制器中编写了prepareForSegue方法,使其正常工作。我只需要在特定时间从自定义UITableViewCells中检索数据(在保存时,而不是在完成编辑文本字段或取消选择表格行时)。

实现这种行为的“最佳做法”是什么?

1 个答案:

答案 0 :(得分:2)

由于我不知道您的自定义单元格是什么样的,所以我只使用其中包含单个文本字段的单元格(名为myTextField)作为示例。

在自定义单元格类中,添加如下属性:

var value: String? {
    return myTextField.text
}

在保存按钮的@IBAction方法中,执行以下操作:

var data = [String]()
let sections = numberOfSectionsInTableView(self.tableView)
for s in 0..<sections {
    let rows = tableView(self.tableView, numberOfRowsInSection: s) 
    for r in 0..<rows {
        let cell = tableView.cellForRowAtIndexPath(NSIndexPath(forRow: r, inSection: s)) as! YourCustomCell
        data.append(cell.value)
    }
}

现在你有一个字符串数组!

如果您的单元格数据不像字符串那么简单,请考虑使用Eureka