ios - 如何从 UITableView 的每一行读取数据/测试?

标签 ios swift uitableview

在我的 iOS 应用程序中,用户应该填写表格中的所有字段,其中每一行可能包含:

  • 一个 TextView ,或者
  • 日期选择器或
  • 选择器 View ,或者
  • 一个开关。

我创建了 7 种不同类型的单元格,每种单元格都包含其中一个带有特定标签的 UI 组件。这样我就可以在表仅处于“读取模式”时访问它们。

单元格的最后一行包含一个“保存”按钮。按下时,所有这些值应该一起收集到一个对象中,该对象将存储在数据库中。

问题是我不知道如何从每一行中读取这些内容。 有具体方法吗?

最佳答案

要从您的单元格中获取所有数据,最好的方法是拥有一个包含您需要的所有数据的 NSArray,并在 NSArray 中更新这些值以获得相应的数据在细胞中。您必须使用某种 dataSource 来显示 tableView 中的数据,并且您可以使用确切的 NSArray 来更新值并保存到只需通过它并保存这些值。

其他问题: @NickCatib 1)我不明白 func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) 方法的作用。它是用来从每个单元格中获取数据的吗?什么时候调用? (换句话说,我如何将它链接到提交按钮的 IBAction)

当您选择特定单元格时调用该方法。您可以使用 selectRowAtIndexPath:animated:scrollPosition: 方法链接它。

@NickCatib:2) 为每个单元分配一个唯一的标签以在触摸提交按钮时读取数据是否更好?

您可以,但同样,更好的方法是如上所述遍历 NSArray。

关于ios - 如何从 UITableView 的每一行读取数据/测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32506955/

相关文章:

swift - 为什么我会收到此 ViewType 不可转换错误?

Swift3:将字符串转换为以空字符结尾的 C 字符串的正确方法

ios - 无法在 cellForRowAtIndexPath 中获取单元格框架或约束

ios - 在第一个 View Controller 中完成某些操作后,在第二个 View Controller 中重新加载数据

objective-c - 滚动 UITableView 时单元格数据显示不正确

ios - 如何在 UIView 上使用 UIPanGestureRecognizer 时禁用滚动

java - 如何使用 Swift (iOS) 执行以下架构。添加了 Java 代码示例

ios - 自定义单元格中的委托(delegate)

ios - 设备方向快速变化时如何旋转按钮?

ios - 当用于触发 segue 时,拉动刷新 View 不会消失