我有一个自定义 UITableViewCell,其中包含标签和 imageView。如果 TableView 是可见 View 并且上面有一个单元格,如果我以编程方式更新标签的文本和 imageView 的图像并在执行此操作时记录日志,则在我在日志中看到标签的通知后大约需要 4 秒和要更新的图像。以下是发生的顺序和方式:
-加载包含表格和一个自定义单元格的 View
-使用 NSOperation(和队列)将文件写入磁盘
-当 NSOperation 完成写入文件时,它会触发 NSNotification (defaultCenter),告诉单元格的 View 更新标签和图像并且我设置 [self setNeedsDisplay]
-我在日志中看到单元已收到通知并完成了新值的设置
-~4 秒后,单元格的 View 实际更新。
什么给出了?
最佳答案
我的特定问题的解决方案取决于我更新数据的方式,我使用 NSOperation (和队列)发送通知,然后通知响应程序更新 View 。问题是 NSOperation 从技术上讲存在于另一个线程上,所以我应该做的是:
-使用 NSOperation(和队列)将文件写入磁盘
-当 NSOperation 完成写入文件时,它会触发 NSNotification (defaultCenter),响应者应该执行 SelectorOnMainThread 一个执行实际更新 View 的方法
这样做了吗,我的手机立即更新了。
关于iphone - 自定义 UITableViewCell 不会立即更新其 subview ,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3065714/