0

当在后台线程中调用的方法需要许多不同的 s 时,如何使用 Core Data 和 GCD NSManagedObject?您作为调用者可能不知道子调用中需要哪些对象?

考虑一个复杂的下载、解析和保存过程,其中包含许多托管对象、日期、状态等的辅助方法。当您使用 GCD 启动后台线程时,NSManagedObjectContext将需要一个新线程,这是肯定的。但是您无法判断每个子方法将需要哪些托管对象。那么,您是否需要将上下文传递给每个辅助方法,例如只是为了NSDate区分?

有没有一种简单的方法不会破坏代码行?

4

1 回答 1

0

一种可以满足不破坏代码的要求的方法可能是在各种后台线程中接收您的数据并将其全部编码到字典中。如果使用 JSON 作为传输格式,那将是很少的代码行。

然后你可以将它全部传递给主线程上的一个块来创建托管对象并将其插入到托管对象上下文中。同样,与单线程解决方案相比,这不会带来太多开销。

于 2012-06-11T14:06:07.873 回答