ios - Swift - 原型(prototype)单元从 TextField 获取值

标签 ios swift uitableview

我有一个带有 2 个原型(prototype)单元的 tableView。

第一个原型(prototype)单元格的右侧有一个文本字段和按钮。假设它是“Cell1”

第二个原型(prototype)单元只有一个标签。假设它是“Cell2”

我只想在第一个单元格中输入一些内容,然后点击按钮:

1) 创建一个新的 Cell2 原型(prototype)单元行

2) 新的 Cell2 原型(prototype)单元行必须有一个标签,其值是我在 Cell1 文本字段中输入的值。

通过这种方式,我可以获得具有不同 TextField 值的 Cell2 行列表。

我知道如何实现第一个(创建的新行),但不知道如何实现第二个。

当segue开始时,我只有像这张照片一样的Cell1原型(prototype):Here segue starts

当我点击+按钮时,我有一个新的“Cell2”原型(prototype)行。 这种Cell每次都必须有Textfield的标签。 enter image description here

如何每次获取 TextField 的值并将其传递给新创建的 Cell2 行标签?

最佳答案

很可能您的困难只是您的数据模型有点太简单了。请记住,所有工作都必须通过咨询数据模型的 cellForRowAtIndexPath: 实现来完成。因此,数据模型必须知道每行的两件事:

  1. 这是原型(prototype) 1 行还是原型(prototype) 2 行?

  2. 该行的文本字段(如果这是原型(prototype) 1 行)或标签(如果这是原型(prototype) 2 行)值是多少?

给定一个携带该信息的数据结构,如何继续就足够清楚了:

  • 当用户在文本字段中键入内容时,文本字段委托(delegate)应将文本字段的文本输入到该行的模型中。

  • 当用户点击加号按钮时,我们会找出这是哪一行,并在当前行之后立即插入到数据模型中,将一个新条目标记为原型(prototype) 2 行,其文本值与当前行。然后,我们也将该行插入表中,以便为新行调用 cellForRowAtIndexPath:

根据这些简单的说明,构建您想要做的事情的工作示例非常容易:

enter image description here

关于ios - Swift - 原型(prototype)单元从 TextField 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35398473/

相关文章:

ios - 编译时错误 - XCode 4.1、iOS 4 中的 XIB/NIB 损坏

ios - 为 iPhone X 处理自定义标签栏

ios - swift NSDate ISO 8601 格式

ios - 使用标签来检测是否有东西被窃听

ios - indexpath.row 显示的行数较少

ios - 无限滚动和 TableView 数据重新加载

ios - 如何使用 Objective c 创建多个 tableview 单元格?

ios - UISplitViewController - 从细节更新主 TableView

ios - UINavigationController 背景颜色更改隐藏 iOS 中的后退按钮

swift - 在场景之间转换时保留循环问题