UITextField Table 查看单元格 - iOS

UITextField Table View Cells - iOS

我有一个代码设计问题要问大家。

我必须构建一个动态表单,这意味着不能保证表单每次加载时都包含相同的字段。

我得到了每个表单必须包含的字段列表,它们都是文本输入。我得到的列表是基本的 JSON,描述了每个字段具有的属性(即名称、isRequired、maxLength、minLength)。

我正在使用 UITableViewCell 和 UITextField 来创建表单。 为了验证和提交表单,我需要对每个单元格或每个单元格的文本字段保持强引用,以便我可以获得为每个字段输入的数据。

如何在保持对每个单元格(或文本字段)的强引用的同时即时创建表单?

我很乐意回答您提出的任何需要澄清的问题。

您将选择 动态 tableView 而不是 静态

如您所见,ios sdk 完全是关于 MVC 模式的。

您将以同样的方式分离您的关注点,使用 class 模型来描述您的数据。

我最大的建议是你根本不应该依赖细胞,因为它们会被重复使用。所以不要将您的逻辑与界面组件混在一起。

与其保持对单元格的强引用,不如保持对代表单元格的模型的强引用。对于每行都是一个文本字段的 table,模型是一个字符串数组。通过遍历 JSON 为 JSON.

描述的每个表单元素添加一个字符串来构建它

那么您的 table 数据源就是那个字符串数组。随着文本字段的文本更改,更新相应的字符串(从文本字段到数组中的正确索引有点棘手,但它经常在 SO 上讨论。我最喜欢的方法是 @danh solution here,它可以适用于单元格的任何子视图)。

我不会这样做。
table 滚动时会发生什么? 您确实需要 table 反映的模型对象,使用 table 作为模型是不明智的。声明一个 属性 类型的 NSMutable 字典或数组或其他东西,使用它来存储您的数据并在每次修改文本字段时更新它