【发布时间】:2012-08-23 08:07:39
【问题描述】:
我最近阅读了 Core Data Programming Guide,Apple 建议我们这样做
您在后台线程上获取一个托管对象上下文,并传递获取的对象 ID 对象到另一个线程。在第二个线程(通常是应用程序的主线程,这样你就可以 然后显示结果),您使用第二个上下文在具有这些对象 ID 的对象中出错(您使用 objectWithID:实例化对象)。 (此技术仅在您使用 SQLite 存储时才有用,> 因为来自二进制和 XML 存储的数据在打开时会立即读入内存。)
据我了解,在后台上下文中获取不会在主线程上下文中注册托管对象,因此从 objectWithID 返回的托管对象很可能是错误的。当我们在主线程上使用它时,我们将触发新一轮的 SQLite Store 之旅。所以 UI 可能会被屏蔽。
我错过了什么吗?有没有办法避免主线程上的 I/O 开销?
【问题讨论】:
标签: iphone objective-c ios5 core-data