При начале использования NSUserDefaults для пользовательских классов это время для перехода к Core Data? - PullRequest
0 голосов
/ 30 марта 2011

Когда вы начинаете использовать NSUserDefaults для пользовательских классов с несколькими уровнями, это время для перехода к базовым данным?

Справочная информация:

  • Я начал использовать NSUserDefaults для данных своего приложения, которые были базовыми 3 уровнями (примерный пример приведен ниже)
  • Я тогда хотелчтобы иметь больше читабельности / печатать при использовании структуры, поэтому начали создавать собственные классы для данных
  • Теперь я понимаю, что эти пользовательские классы должны будут реализовать методы initWithCoder и encodeWithCoder

Поэтому, учитывая вышесказанное, я действительно задаюсь вопросом, лучше ли мне перейти к Базовым данным здесь.Неужели вы здесь концептуально не можете определить структуру в XCode, а затем иметь доступ к сохранению / загрузке данных непосредственно в классы, которые XCode создает для вас?

Грубые примеры структуры:

  • Элементы ( NSMutableArray )
    • aString: NSString
    • aString2:NSString
    • aDate: NSDate
    • aDate2: NSDate
    • aBool: BOOL
    • aTI1: NSTimeInterval
    • aTI2: NSTimeInterval
    • ключевые слова ( NSMutableArray )
      • ключевое слово: NSString
      • ключевое слово: NSString

1 Ответ

3 голосов
/ 30 марта 2011

Основные данные или списки свойств или прямое архивирование объектов, да.Как только у вас есть какие-либо данные помимо очень простых пар ключ / значение, вам нужно подумать о слое модели.

Хотя это удобно, пользователь по умолчанию - как следует из названия - просто isn 't место для сохранения пользовательских данных!Это для конфигурации, предпочтений и т.д ...

...