CoreData 中的文本并不总是被绘制

Posted

技术标签:

【中文标题】CoreData 中的文本并不总是被绘制【英文标题】:Text from CoreData is not always drawn 【发布时间】:2012-06-20 09:22:37 【问题描述】:

我一直在使用 CoreData,但似乎我还没有完全理解它 - 我的应用程序正在从 CoreData 加载一些数据并用它填充 UITableView。一切似乎都很好,只是有时没有绘制文本。其他数据是图像,并且始终绘制。在用户滚动表格之前,不会显示任何文本。

我已尝试将我的请求设置为不返回错误:

[request setReturnsObjectsAsFaults:NO];

但是,问题仍然存在,尽管它比较少见。

图像是在NSData 的背景中构建的。文本只是设置为一些UILabel。也应该以某种方式操纵文本吗?怎么样?

由于文本在控制台中正确显示,问题可能出在UITableView 而不是CoreData,但我找不到任何原因。

感谢您的任何想法。

【问题讨论】:

【参考方案1】:

根据您的描述,我怀疑这不是核心数据问题。错误在这里不是一个因素,因为 Core Data 会往返于持久存储以按需获取属性。

您是使用带有 textLabel 和 detailTextLabel 的标准 UITableViewCells 还是有自定义单元格布局?

是不是需要设置setNeedsDisplay?我是否正确理解在您的 tableView:cellForRowAtIndexPath: 方法 NSLog 语句中成功显示您的文本?

【讨论】:

我正在使用自定义单元格,是的,您正确理解了所有内容。我没有尝试过setNeedsDisplay,所以如果有一段时间没有出现bug,我想你解决了。 :) 我对处理 CoreData 中的错误非常坚持 - 你认为,'setReturnsObjectsAsFaults:NO' 是不需要的吗?谢谢。 -setReturnsObjectsAsFaults:NO 是绝对不需要的。 现在评论了,你是对的 - 一切正常。我什至一次都无法重现该错误。看来你真的解决了。非常感谢!

以上是关于CoreData 中的文本并不总是被绘制的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Core Data 中存储 CLLocationCoordinate2D 数组来绘制折线?

MagicalRecord 并不总是保存更改

Core Data 只节省了大约 50% 的时间

代码并不总是突出显示富文本框中的选定文本

使用 Core Graphics 绘制带有减去文本的路径

Shadow Mapping OpenGL阴影并不总是绘制,而绘制的地方是光的位置