我有一个包含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年前已经过去了,我相信有一个更现代的解决方案来解决这个问题吧?
答案 0 :(得分:3)
从文档中,UITableView
提供了“显示和编辑分层信息列表的方法。”
它并不意味着充当任何数据的存储,它只是为用户提供了与之交互的方式。
根据您链接的答案,如果您希望在重复使用或释放单元格后保留此数据,则必须将此数据存储在其他位置。