我有一个方法,使用NSManagedObjectContext的副本在后台线程中运行,NSManagedObjectContext在后台线程根据Apple建议启动时特别生成。从主线程managedobjectcontext从后台线程请求标量值
在这个方法中,它调用一个类的共享实例,这个共享实例用于管理属性值。
是管理性质的共享实例使用的NSManagedObjectContext在主线程,现在即使主线程在后台线程的方法不应该使用的NSManagedObjectContext,应该不是真的,如果共享的属性管理类做或做重要不使用这样的上下文,因为它只是将标量值返回到后台线程(至少这是我的理解)。
那么,为什么在从后台线程调用时通过主线程上下文检索值时共享属性类会挂起?它不需要传递一个NSManagedObject,甚至不需要更新一个,所以我看不出它会产生什么差异。
我可以理解,我的方法可能是错误的,但我想在基本层面理解为什么会这样。目前我无法理解整个系统足以超越苹果推荐的实现方法,这只是我不喜欢的黑魔法方法。
任何帮助,非常感谢。
我会尽快给出结果并对结果提供反馈。 –