2015-10-21 36 views
1

我有一个UITableViewCell,有10行,里面有UITextFields。当我尝试获取文本字段中的值时,我的代码返回该值,但是当我向下滚动我的表格(将我的文本字段放在窗口外)并尝试获取内部值时,我的代码返回null!当单元格滚动出窗口时,TextField返回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年以前获得通过,我相信有一个更现代的解决方案来解决这个问题,对不对?

+2

没有。这仍然是一条路。 – joern

+0

正确。单元格只是数据视图,不能用于存储数据 – Paulw11

回答

3

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

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

根据您链接到的答案,如果您希望在单元格被重用或释放后仍然存在,则必须在其他位置存储此数据。

相关问题