Uitableview 访问没有标记的uitextfield

Uitableview 访问没有标记的uitextfield,uitableview,tags,subview,Uitableview,Tags,Subview,我有一个带有多个动态tableview单元格的tableview,在每个tableview单元格中我有多个文本字段。每个单元格都有不同的标记,但texfields没有!我需要检索用户稍后将插入的信息。我正在使用界面生成器 是否可以访问未标记的texfield 我可以使用“用户定义的运行时属性”来管理它吗 谢谢您可以查看每个单元格子视图,检查它是否是UITextField,类似于: for (UIView *subview in cell.subviews) { if ([subview

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

是否可以访问未标记的texfield

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


谢谢

您可以查看每个单元格子视图,检查它是否是UITextField,类似于:

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

尽管如此,这可能不是最好的方法。。。如果每个文本字段都有一个标记,或者使用一个自定义单元格(以文本字段作为属性)对单元格进行子类化,则U会做得更好。

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

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

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

- (void)textFieldDidEndEditing:(UITextField *)textField
{
    // Store the textField.text value somewhere for later use.
}

因此,我必须创建“很多”ExtFielddEndediting事件(因为每个单元格中有许多texfields),这样我就可以访问它们了?。我的意思是,我应该在IB中为每个textfield连接该事件,然后在ExtFieldDiEndediting方法中处理它们?谢谢您的帮助否,只有一个
textfielddidediting:
delegate方法,所有textField都调用同一个方法。你需要一些方法来区分它们。通常在tableview中,您使用标记(我会为它们定义常量,如MYTABLEVIEWROW_NAME_标记)和行号的组合。谢谢再次回答。所以我别无选择,只能在每个uitableviewcell?内的每个文本字段上使用标记?。我的问题是,我的细胞内至少有6个texfield,而且它们是动态的。所以每次用户按下绿色加号按钮,就会创建新的标签?我不知道……我被卡住了!。如果你想知道它们之间的区别,那么是的。你需要给每一个都贴上标签。但是,对于相同的文本字段,每行可以有相同的标记。(也就是说,如果每一行都有一个“Name”文本字段,那么它们都应该有相同的标记号,这样在代码中,您就可以使用
if(textfield.tag==Name_tag){//您知道这是一个名称}
正确。然后您只需使用“Name”(标记2)对于第1行,第2行中的标记2是第二条记录的名称,等等。但是如果我没有标记它们,我如何区分每个单元格中的每个texfield呢?