本节书摘来自异步社区《iOS组件与框架——iOS SDK高级特性剖析》一书中的第8章,第8.6节键值存储同步,作者 【美】Kyle Richter , Joe Keeley,更多章节内容可以访问云栖社区“异步社区”公众号查看
8.6 键值存储同步
iOS组件与框架——iOS SDK高级特性剖析
iCloud还支持键值存储同步。这类似于在NSMutableDictionary或NSUserDefaults中存储信息,将一个与对象值相关联的键用于存储和检索;iCloud键值存储的不同之处在于,将自动在设备之间同步键和值。本书编写期间,iCloud为每个应用提供1MB的键值存储空间,最多可存储1024个键值对,因此键值存储机制只适合用于存储少量信息。
本章的示例应用利用iCloud键值存储来跟踪最后修改的备忘录。详细视图控制器在方法configureView中存储最后修改的备忘录的名称。
这个方法获取指向iCloud键值存储的引用,这是一个NSUbiquitousKeyValueStore实例。它将键kICFLastUpdatedNoteKey的值设置为备忘录名称,再调用synchronize确保数据得以马上同步。
主视图控制器在方法viewDidLoad中注册通知NSUbiquitousKeyValueStoreDidChange ExternallyNotification。
请在一台设备上显示备忘录清单,并在另一台设备上修改一份备忘录。注意到几秒钟后,第一台设备上的星号将移到刚修改的备忘录旁边。