textFieldDidEndEditing

textFieldDidEndEditing

我有一个带有表单输入屏幕的iPhone应用程序。我是通过制作一个具有UITableViewCellUILabel的自定义UITextfield来实现的。我进行了设置,以便“ cellForRowAtIndexPath”从核心数据中获取适当的值,而UITextField's“ textFieldDidEndEditing”方法将适当的值保存到核心数据中。效果很好...除了:

如果我编辑一个文本字段,然后将其滚动到屏幕外,然后单击另一个单元格的文本字段:


该单元格已滚动到屏幕以外,因此已自动释放
“ textFieldDidEndEditing”获取错误访问权限错误


我完全理解了这个问题,但是我不确定解决该问题的最佳方法。我的第一个想法是将逻辑从“ textFieldDidEndEditing”添加到“ dealloc”,但这似乎很麻烦。有什么建议么?

最佳答案

我最终将委托方法用于滚动视图(内置于UITableView中)。当用户开始拖动时,我请第一响应者辞职。

这完美地工作是因为它看起来不错,并且当用户开始滚动时(总是在文本字段离开屏幕之前),将调用“ textFieldDidEndEditing”。

10-06 03:41