0

我有一个带有多个动态表格视图单元格的表格视图,并且在每个表格视图单元中我有多个文本字段。每个单元格都有不同的标签,但 texfields 没有!我需要检索用户稍后将插入的信息。我正在使用界面生成器。

是否可以访问未标记的 texfield?

我可以使用“用户定义的运行时属性”来管理它吗?

谢谢

4

2 回答 2

2

这是从 iOS 开始时的常见错误。

您不应该直接引用文本字段来检索存储在其中的信息,尤其是在表格视图中。在表格视图中,当一个单元格从屏幕上滚出时,该单元格很可能会被重用,并且存储在那里的信息将永远消失。

相反,当用户完成编辑文本字段时,通过将视图控制器设置为文本字段委托,然后实现textFieldDidEndEditing:委托方法来存储文本:

- (void)textFieldDidEndEditing:(UITextField *)textField
{
    // Store the textField.text value somewhere for later use.
}
于 2012-08-01T16:28:02.927 回答
0

您可以查看每个单元格子视图并检查它是否为 UITextField,例如:

for (UIView *subview in cell.subviews) {
    if ([subview isKindOfClass:[UITextField class]]) {
        // do something with the text field...
    }
}  

话虽如此,这可能不是最好的方法......给每个 textField 一个标签或使用具有 textFields 作为属性的自定义单元格子类化单元格,U 会做得更好。

于 2012-08-01T16:18:35.567 回答