本节书摘来自异步社区《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。
请在一台设备上显示备忘录清单,并在另一台设备上修改一份备忘录。注意到几秒钟后,第一台设备上的星号将移到刚修改的备忘录旁边。