使用从Storyboard定义的自定义UITableViewController和Prototype单元进行随机UI更新

时间:2012-02-08 14:58:04

标签: ios user-interface uitableview

我创建了一个UITableViewController的子类,它在我的故事板中用作View的自定义类。视图有许多部分/行被定义为原型单元格,它们被实例化并按预期显示。大多数UITableView委托方法只是调用处理节数量,行等的超级方法。

我已经缓存了用于更新-viewDidLoad上的单元格的内容,然后是一个异步操作,它从我的服务器重新加载内容并在之后重新绑定数据(在主线程上-performSelectorOnMainThread: :) 。正是在这一点上,似乎任意地,一些单元格内容(主要是标签)将被清除数据,并且不会在10-15秒之间的任何地方更新到新数据。此时,在表格视图中显示或有时滚动的内容将导致内容显示。

我知道正在调用选择器,并且在主线程上,UI元素的文本属性正在设置但随机它们只是...不更新。我已经尝试在tableView,控制器的视图和-setNeedsDisplay上添加-reloadData on tableView(尽管最后一个似乎没必要,因为它们是原型单元格)都无济于事。

有人碰到过这个吗?

2 个答案:

答案 0 :(得分:0)

我不确定这是否是由线程方面或如何处理tableView引起的。如果是tableView,请查看此post,因为在我正确处理动态原型tvCell之前,我的应用程序正在消失的数据有一些相似之处。

答案 1 :(得分:0)

我的评论确实解决了我的问题。似乎UILabel在修改后没有更新,而是在内部决定何时重新绘制它们 - 无论你是否试图用display或setNeedsDisplay强制它。

解决方案:使用UITextView代替UILabel