当单元格滚出窗口时,TextField返回null

时间:2015-10-21 21:13:06

标签: ios objective-c uitableview

我有一个包含10行的UITableViewCell,我有UITextFields。

当我尝试在文本字段中获取值时,我的代码返回该值,但是当我向下滚动表格(将我的文本域放在窗口外)并且我尝试在其中获取值时,我的代码返回null!

NSIndexPath *myIP = [NSIndexPath indexPathForRow:1 inSection:0];
        ProfileTableViewCell *cell = [tableView cellForRowAtIndexPath:myIP];
        UITextView *text1 = (UITextView *)[cell.contentView viewWithTag:1];
        UITextView *text2 = (UITextView *)[cell.contentView viewWithTag:2];

为什么会这样? 因为当单元格滚出窗口时,文本字段可能会被释放

我可以做些什么来解决这个问题? 将输入保存在某处并从单元格构造方法中读取

嗯,我得到这个答案,阅读solution,现在4年前已经过去了,我相信有一个更现代的解决方案来解决这个问题吧?

1 个答案:

答案 0 :(得分:3)

从文档中,UITableView提供了“显示和编辑分层信息列表的方法。”

它并不意味着充当任何数据的存储,它只是为用户提供了与之交互的方式。

根据您链接的答案,如果您希望在重复使用或释放​​单元格后保留此数据,则必须将此数据存储在其他位置。