如何将NSUserDefaults与RestKit同步

时间:2015-09-16 11:00:50

标签: ios objective-c restkit nsuserdefaults

我发现许多开源项目的目标是将iSuoud同步NSUserDefaults数据,但我只是想将它同步到我自己的服务器,如何使用RestKit?一些解决方案:

  1. 创建一个普通的核心数据模型设置:NSManagedObject,并正常获取/补丁。

    • 优点,不需要NSUserDefaults,我可以通过RestKit与服务器通信。
    • 缺点,看起来很奇怪,模型Settings只有一个实例。
  2. 创建一个普通的NSObject设置:NSObject,将json从服务器映射到此对象,然后将所有信息传递给NSUserDefaults,并通过Settings获取/补丁

    • 优点,我正在将NSUserDefaults与RestKit同步。
    • 缺点,需要实现两个地图,一个是从json到Settings,一个是从Settings到NSUserDefaults。太复杂了。

1 个答案:

答案 0 :(得分:0)

我通常会使用您的选项2,但其中一种都可以使用。

你想玩具的想法:

将您的设置对象创建为代理。它实现了代理的调用/选择器方法,因此它可以转发它传递的所有setter和getter方法,在本例中为用户默认值。它使用传递的选择器来创建用户默认密钥来存储或检索来自的数据。

现在,您在映射中设置的任何配置都将自动转到具有相应密钥的用户默认值。

这不是一个明显的解决方案,即通过阅读代码无法轻易看到它在做什么,但这是一个非常低的代码解决方案。