0

我正在使用 MagicalRecord。每当我保存时,它都会保存到 iCloud,这需要几秒钟。有没有办法让我:

  1. 保存而不保存到 iCloud,所以我大部分时间都可以选择这样做吗?
  2. 在后台上下文中保存到 iCloud?我可以将 save 方法放在后台线程中,以执行此操作。那行得通吗?
4

1 回答 1

0

使用 Core Data 保存到 iCloud 是一种全进或全出的交易。您可以在应用的核心数据堆栈中拥有多个商店。但是,这意味着可以使用以下方法将数据从一个存储(可能是 iCloud 存储)移动到另一个(本地)存储:

[NSManagedObjectContext assignObject:<obj> toPersistentStore:<store>]

这意味着,您首先要在上下文中创建对象,然后告诉它将自己保存在本地存储中。然后,当您读取将其移动到云端时,您可以使用此方法,并再次保存,这次是到 iCloud。

将数据保存到 iCloud Core Data 存储的规则应该与您的本地存储相同。除了将您的核心数据存储移动到一个无处不在的容器之外,iCloud 没有不同的 API,该容器由神奇的记录处理。这意味着,使用后台上下文(私有队列上下文)保存。

于 2012-08-03T06:15:03.197 回答