如何从另一种方法访问 tableviewCell 中的文本字段

Posted

技术标签:

【中文标题】如何从另一种方法访问 tableviewCell 中的文本字段【英文标题】:How to access textfield in tableviewCell from another method 【发布时间】:2013-06-24 11:34:10 【问题描述】:

我正在构建一个允许用户插入产品和有关这些产品的信息的应用。一种产品的所有信息都插入到自定义TableViewCell 的不同文本字段中。我需要创建一个二维产品数组,因为稍后我想使用该数组将每个产品插入数据库。

要创建该数组,我需要我的应用在每次用户停止输入文本字段时保存每个文本字段中的文本。问题是,我无法为特定的文本字段创建 textFieldDidEndEditing 方法。

简单地说:

当我在一个UITableViewCell 中有更多文本字段时,如何通过另一种方法(最好使用textFieldDidEndEditing 方法)单独访问所有这些文本字段?

【问题讨论】:

您可以在 textFieldDidEndEditing 中检查特定的 textField。 将标签分配给您的文本字段。并使用该标签访问该文本字段。 @BSThakrar 如果你能解释一下如何,你会很开心。我可能遗漏了一些简单的东西,但我是初学者,所以恐怕我需要一些帮助。 您是通过情节提要或代码创建文本字段吗? 【参考方案1】:

你可以通过两种方式做到这一点 1) 为每个文本字段分配标签值 2)为每个文本字段提供恢复ID

-(void)textFieldDidEndEditing:(UITextField *)textField

     if([textField.restorationIdentifier isEqualToString:@"YourID"])
     
        //store in array
     
           OR 
    if(textField.tag == 1)
    
        //store in array.
    


【讨论】:

它似乎工作..对不起,我不得不做更多的只是插入一些代码来使这项工作,但你的回答解决了我的问题。非常感谢!【参考方案2】:

你在 UItextField 中添加方法:

[textfield addTarget:self action:@selector(textfieldcall:) forControlEvents:UIControlEventEditingDidEnd];
textfield.tag=100;

调用这个方法

-(void)textfieldcall:(UITextField*)sender

    if (sender.tag==100) 
        //do your stuff
    

【讨论】:

【参考方案3】:

为您的文本字段分配标签。并使用该标签访问该文本字段。

【讨论】:

以上是关于如何从另一种方法访问 tableviewCell 中的文本字段的主要内容,如果未能解决你的问题,请参考以下文章

如何从另一种形式调用多个方法C#

我如何从另一种方法调用 linq?

如何在一种方法中为数组赋值并从另一种方法调用

如何从另一种方法向反应堆热通量动态添加元素?

我如何以编程方式从另一种方法单击 JavaFX 中的按钮?

为啥不能从另一种方法调用main方法[关闭]