nsmanagedobjectcontext
全部标签 在我的应用程序中,基本上每个ViewController都有一个本地NSManagedObjectContext:@property(strong,nonatomic)NSManagedObjectContext*managedObjectContext;并且每个segue通过相同的setter传递managedObjectContext[segue.destinationViewControllersetManagedObjectContext:self.managedObjectContext];来自Java,很容易创建每个ViewController实现的抽象类。在Objecti
在我的应用程序中,基本上每个ViewController都有一个本地NSManagedObjectContext:@property(strong,nonatomic)NSManagedObjectContext*managedObjectContext;并且每个segue通过相同的setter传递managedObjectContext[segue.destinationViewControllersetManagedObjectContext:self.managedObjectContext];来自Java,很容易创建每个ViewController实现的抽象类。在Objecti
正如anotherquestion中指出的那样在SO(和Appledocs)上,NSManagedObject实例不持有对其起源的NSManagedObjectContext的强引用。乍一看,这似乎是一个奇怪的决定,因为NSManagedObject实例在没有它们的context的情况下几乎毫无用处,因为它会导致令人困惑的错误,例如faultsnotfiringwhentheyshould.谁能提供一些背景信息来说明为什么会这样?实现一个自动持有对其NSManagedObjectContext的强引用的NSManagedObject子类会很危险吗?编辑:由于对这个问题的出色回答,我发现
正如anotherquestion中指出的那样在SO(和Appledocs)上,NSManagedObject实例不持有对其起源的NSManagedObjectContext的强引用。乍一看,这似乎是一个奇怪的决定,因为NSManagedObject实例在没有它们的context的情况下几乎毫无用处,因为它会导致令人困惑的错误,例如faultsnotfiringwhentheyshould.谁能提供一些背景信息来说明为什么会这样?实现一个自动持有对其NSManagedObjectContext的强引用的NSManagedObject子类会很危险吗?编辑:由于对这个问题的出色回答,我发现
哎呀,抱歉标题太长了。我有一个托管对象上下文,我在其中存储来自两个不同位置的歌曲。我从手机上的持久存储中获取了一些歌曲(使用CoreData),并从在线数据库中提取了一些歌曲。这两首歌都属于同一个MananagedObject子类。我希望这两首歌都在一个上下文中,因为我希望它们都显示在与NSFetchedResultsController连接的TableView中。当我想保存其中一首歌曲时出现问题。我不想将从在线数据库中提取的所有歌曲都保存到手机中。我只想保存单曲,所以简单的[mocsave]不起作用。另一个问题是,在我保存单曲之后,我仍然希望从网上提取的歌曲在上下文中(但同样,不保存
哎呀,抱歉标题太长了。我有一个托管对象上下文,我在其中存储来自两个不同位置的歌曲。我从手机上的持久存储中获取了一些歌曲(使用CoreData),并从在线数据库中提取了一些歌曲。这两首歌都属于同一个MananagedObject子类。我希望这两首歌都在一个上下文中,因为我希望它们都显示在与NSFetchedResultsController连接的TableView中。当我想保存其中一首歌曲时出现问题。我不想将从在线数据库中提取的所有歌曲都保存到手机中。我只想保存单曲,所以简单的[mocsave]不起作用。另一个问题是,在我保存单曲之后,我仍然希望从网上提取的歌曲在上下文中(但同样,不保存
我正在使用基于导航Controller的iOS应用程序。有多个tableView屏幕可以从CoreData持久存储中提取和保存数据。不同TableView的大部分数据来自NSFetchedResultsController实例或NSFetchRequests。该应用程序按预期运行,但我遇到了一些似乎与CoreData相关的随机崩溃和故障。例如,有时当我保存上下文时,应用程序会崩溃,但并非总是如此。我看到的另一件事是第一个tableView并不总是更新以反射(reflect)在其详细View中修改的数据。目前,我通过在将ViewController推送到导航堆栈之前设置ViewContr
我正在使用基于导航Controller的iOS应用程序。有多个tableView屏幕可以从CoreData持久存储中提取和保存数据。不同TableView的大部分数据来自NSFetchedResultsController实例或NSFetchRequests。该应用程序按预期运行,但我遇到了一些似乎与CoreData相关的随机崩溃和故障。例如,有时当我保存上下文时,应用程序会崩溃,但并非总是如此。我看到的另一件事是第一个tableView并不总是更新以反射(reflect)在其详细View中修改的数据。目前,我通过在将ViewController推送到导航堆栈之前设置ViewContr
基本上,我只在我的应用程序中使用了一个moc,但我认为在某些情况下我应该使用多个NSManagedObjectContext。什么时候应该使用多个NSManagedObjectContext?我听说在某些情况下我应该使用3moc,但我不知道在哪些情况下我应该使用3moc? 最佳答案 通常,您希望为每个将访问CoreData数据库的线程使用单独的NSManagedObjectContext。这是为了防止对象图由于并发写入同一上下文而可能进入不一致状态。处理这个问题的最简单方法是为每个线程创建一个新的NSManagedObjectCon
基本上,我只在我的应用程序中使用了一个moc,但我认为在某些情况下我应该使用多个NSManagedObjectContext。什么时候应该使用多个NSManagedObjectContext?我听说在某些情况下我应该使用3moc,但我不知道在哪些情况下我应该使用3moc? 最佳答案 通常,您希望为每个将访问CoreData数据库的线程使用单独的NSManagedObjectContext。这是为了防止对象图由于并发写入同一上下文而可能进入不一致状态。处理这个问题的最简单方法是为每个线程创建一个新的NSManagedObjectCon