我在我的NSManagedObjectContexts
上使用performBlock
,以便我的更改发生在给定上下文的右侧队列中。我的问题是 - 如果我在performBlock
之内进行了很多更改和调用方法 - 是否有一种简单的方法可以确保我使用正确的上下文中的对象。核心数据 - 从NSManagedObjectContext调用的共享代码peformBlock:
实施例:
我有一个activeAccount
IVAR(在主队列中创建),其用于在应用程序的当前帐户NSMangedObject
。我有一些实例方法使用activeAccount
对象执行某些任务 - 获取数据,设置数据。所以我的问题是,如果我在背景NSManagedObjectContext
上做了些什么,并且我调用了其中一种共享方法 - 是否有一种我可以使用的模式,以便在我知道的这些方法中使用当前的activeAccount
iVar或获取新的。此外,如果我需要做一些事情需要NSManagedObjectContext
- 我怎么知道哪一个得到/使用。
我知道使用哪个NSManagedObjectContext
的方法是我有一个方法,检查它是否在当前线程上运行 - 然后知道返回主线程的上下文或后台线程的上下文。此外,如果我在后台线程上,我是否允许读取位于主线程上的activeAccount
的对象ID,以便我可以在后台线程上获取它的副本?提前致谢。
我正在为iOS开发。我真的只有两个MOC,一个用于主线程,另一个用于后台运行。我想我的问题是我有代码,我试图重用,所以我已经放入方法。但我不想说X方法只能在这个ManagedObjectContext中运行。在一个案例中,我正在创建一个新的账户关系。包含它的对象有一个账户iVar。所以我试图决定是否可以加入到iVar中,或者是否需要为后台MOC创建另一个帐户对象。也许我需要将每种方法限制在给定的MOC上。 – Brian