2015-09-16 3 views
0

Я нахожу множество проектов с открытым исходным кодом для синхронизации данных NSUserDefaults с iCloud, но я просто хочу синхронизировать его с моим собственным сервером, как это сделать с помощью RestKit? некоторые решения:Как синхронизировать NSUserDefaults с RestKit

  1. Создание обычной модели данных ядра. Настройки: NSManagedObject и получение/патч как обычно.

    • Плюсы, не нужно NSUserDefaults, и я могу общаться с сервером через RestKit.
    • Против, просто выглядит странно, модель Settings будет иметь только один экземпляр.
  2. Создать нормальный NSObject Настройки: NSObject сопоставьте JSON от сервера к этому объекту, а затем передать всю информацию NSUserDefaults и получить/патч через Settings

    • Pros, я делать синхронизация NSUserDefaults с RestKit.
    • Против, необходимо реализовать две карты: от json до Settings, от Settings до NSUserDefaults. И тоже усложняет.
+0

Что вы считали и пытались? – Wain

+0

еще раз спасибо @Wain, только что обновил мой вопрос. –

ответ

0

Я обычно хожу с вариантом 2, но как будет работать.

Идея для вас игрушка с:

Создайте ваши настройки объекта в качестве прокси-сервера. Он реализует методы вызова/выбора прокси-сервера, чтобы он мог пересылать все методы setter и getter, которые он передал, в этом случае по умолчанию для пользователей. Он использует селектор, который он передал, чтобы создать ключ пользователя по умолчанию для хранения или извлечения данных.

Теперь любая конфигурация, настроенная вами в вашем сопоставлении, автоматически перейдет к настройкам пользователя по умолчанию с соответствующим ключом.

Это не очевидное решение, т. Е. Вы не можете легко понять, что он делает, прочитав код, но это очень низкие строки кода решения.

+0

Получите это, спасибо, я попробую вариант 2 и дам вам знать результат позже. –