利用iCloud增强Core Data应用
1. Core Data与iCloud结合
将Core Data与iCloud结合使用是一个相对简单的过程。我们的目标是将持久存储放置在应用程序的无处不在容器中,但不直接同步持久存储与iCloud,而是同步应用程序之间的事务。当应用程序的另一个实例从iCloud接收事务数据时,它会重新应用对持久存储执行的每个操作,以确保不同实例使用相同的操作集进行更新。
为了避免不必要的开销,虽然不希望同步持久存储,但建议将数据文件放在具有 .nosync 扩展名的文件夹内的无处不在容器中,这样iOS不会同步该文件夹的内容,但会将数据与正确的iCloud账户关联。
以下是具体的代码实现:
// 假设我们有一个NSPersistentStoreCoordinator实例
NSPersistentStoreCoordinator *persistentStoreCoordinator;
NSString *dataFileName = @"iCloudCoreDataApp.sqlite";
NSString *dataDirectoryName = @"Data.nosync";
NSString *logsDirectoryName = @"Logs";
__block NSPersistentStoreCoordinator *psc = persistentStoreCoordinator;
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0
超级会员免费看
订阅专栏 解锁全文
1663

被折叠的 条评论
为什么被折叠?



