不使用 IBoutlet 获取 UItextfield 值
Posted
技术标签:
【中文标题】不使用 IBoutlet 获取 UItextfield 值【英文标题】:Getting UItextfield value not using IBoutlet 【发布时间】:2012-08-05 23:32:28 【问题描述】:我知道这是一个基本问题,但我有点困惑,所以我希望你能帮助我。我有一个带有多个动态表格视图单元格的表格视图,并且在每个表格视图单元中我有多个文本字段。每个单元格都有不同的标签和文本字段,我想访问 uitextfields 值,就像你想象的那样。我的问题是,我没有将 IBoutlet 用于文本字段(这将是大量的 IBoutlet)...我正在使用 - (void)textFieldDidEndEditing:(UITextField *)textField...但我不能似乎在 IB 中建立了正确的连接,这是我的代码:
-(void) textFieldDidEndEditing:(UITextField *)textField
if (textField == [self.view viewWithTag:102])
[textField resignFirstResponder];
在此之后,我是否必须将各自的 UItexfield(和所有文本字段)连接到自己?然后,我是否必须使用编辑做结束事件?...
问候
【问题讨论】:
什么?!但我上次投票赞成,请检查:“不客气!如果这回答了您的问题,请通过选中我的答案旁边的复选框并投票接受答案,以便我因帮助您而获得荣誉。:) – lnafziger 8 月 2 日 16:58"...这实际上是您!然后我按下按钮,一个箭头出现在您对我的回答中...这是怎么回事? 好吧……我明白了……我不仅要投票,还要在绿色上打勾……抱歉,我没注意到。 没问题,只是想为您提供更多帮助!如果您在此期间没有得到答复,我稍后会看一下。 【参考方案1】:我猜这个问题的答案是另一个问题:你想对用户输入的文本做什么?
我假设您有某种数据模型要在其中存储数据。
如果是这样,那么当调用此函数时,您需要在输入时立即将 textField 中的文本保存到您的数据模型中。
例如,您可以访问这样输入的文本:
-(void) textFieldDidEndEditing:(UITextField *)textField
if (textField == [self.view viewWithTag:102])
[textField resignFirstResponder];
yourDataModel.stringToSave = textField.text;
【讨论】:
你好 inafziger,你说得对,我想保留插入到 texfields 中的值,所以我已经搜索并且我正在使用 textFieldShouldReturn 方法,但这只是因为 textFieldDidEndEditing(我之前尝试过)没有被解雇我的键盘,我认为这是因为苹果库中的解释:“在文本字段退出其第一响应者状态后调用此方法”... 在这之后我只是在想,我会有一个巨大的!将旧表格视图上每个 texfield 的每个值的字符串数量,想象我有一个有 8 个单元格的表格视图,在它们内部我至少有 6 个 uitexfields 并且在所有内容之上,表格视图是动态的......任何想法如何简化我的生活:)? 那么,输入后的字符串你想做什么呢?您是将它们存储到数据库或文件中,还是从中计算某些东西?在不知道您要做什么的情况下,很难说如何简化事情。 用户在 texfields 中输入所有数据,在 tableview 的最后,他点击了一个保存按钮,然后他转到另一个 tableview(它不是一个单一的视图应用程序)并且他做到了同样等等。所以,我从某个地方开始,将文本字段数据保存在字符串中,然后对于保存按钮,我想我可以将所有字符串保存在一个数组中...... 好的,先弄清楚你想用它们做什么,然后每当你从文本字段中得到文本时就去做。如果您希望它们进入数组,请在此视图控制器中创建一个数组或字典以将它们全部添加到其中,并将它们添加到您可以将数组中的对象添加到“主”数组中时,当它们点击保存时。以上是关于不使用 IBoutlet 获取 UItextfield 值的主要内容,如果未能解决你的问题,请参考以下文章
接口构建器问题:连接 IBOutlet 时,获取“此类与键的键值编码不兼容”
在 prepareForSegue 中意外发现 nil IBOutlet
如何在不使用助手编辑器的情况下将 IBOutlet 和 IBAction 连接到视图控制器