gpt4 book ai didi

iphone - 我是否通过在启动时获取一次对象并在我想保留数据时调用保存来正确使用核心数据?

转载 作者:可可西里 更新时间:2023-11-01 05:59:06 26 4
gpt4 key购买 nike

我正在深入研究 iOS 编程,并在我的应用程序中使用 Core Data 来保存游戏数据,但是,我想知道我的方法是否是使用 Core Data 的错误方法。我的数据库中有三个表,前两个表与另一个表具有一对多关系(即 UserProfile -->> Puzzle Packs -->> Puzzles)。

我使用和保存数据的方法很简单,使用 NSFetchedResultsController 检索 UserProfile 的实例,并将 UserProfile 对象作为实例 var 存储在我的 App Delegate 中。然后我在其余代码中使用该 UserProfile 对象来访问和修改拼图包和拼图的状态(代表用户在游戏中的进度),每当我对对象进行更改时,我只需调用 NSManagedObjectContext 的保存方法更新数据库,该数据库也存储在 App Delegate 中。

我的问题是,我是否应该在需要访问或修改数据时随时从数据库中获取数据,或者我目前的做法是一次获取顶级对象并经常调用 save 方法,正确使用 Core Data 的方法?

提前感谢您的智慧!如果我的问题很奇怪,我深表歉意,我还是个菜鸟。

最佳答案

只要您只使用单个 NSManagedObjectContext 处理这些对象(即,您永远不必合并上下文之间的更改),那么我看不出获取一次并根据需要保存的问题。

也就是说,当您使用多个上下文(例如,使用 NSOperation/NSOperationQueue 或其他需要单独上下文的多线程技术)时,您需要确保合并更改并更新其他上下文,以便更改从一个线程不要破坏另一个线程的东西。

关于iphone - 我是否通过在启动时获取一次对象并在我想保留数据时调用保存来正确使用核心数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4166893/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com