Хранение данных локально на iPhone - PullRequest
0 голосов
/ 03 марта 2011

Я занимаюсь разработкой приложения для iOS, которое является моим дипломным проектом. Приложение должно служить социальной сетью, где пользователь может подключаться к другим пользователям. С точки зрения данных, приложению необходимо хранить некоторые данные локально, а также оно имеет возможность обновлять эти данные с удаленного сервера, то есть локальные данные являются снимками подмножества данных, которые расположены на сервере.

Предположим, что пользователь может подключиться не более чем к 100 другим пользователям, и он / она также может видеть их информацию, а это: текстовые и небольшие изображения о каждом подключенном пользователе.

Мне интересно, какой самый эффективный подход к хранению этих данных я рассмотрел:

  • plists
  • NSUserDefault
  • SQLite3
  • Архивирование
  • Основные данные.

Но не могу решить, какой подход подходит для моего приложения.

Заранее спасибо.

Ответы [ 4 ]

1 голос
/ 03 марта 2011

Я бы пошел с CoreData & SQLite ... Но у нас не все детали вашего приложения, поэтому я могу ошибаться.

0 голосов
/ 03 марта 2011

Я думаю, что простым и эффективным подходом является использование sqlite3, и он очень знаком для разработчика (поскольку он использует для разработки на языке SQL).

0 голосов
/ 03 марта 2011

Основные данные и архивирование. Я не уверен, что вы сделаете NSManagedObject соответствующим NSCoding, но сможете ли вы использовать базовые данные на стороне клиента, а затем преобразовать их в списки (или ваш собственный пользовательский формат) для передачи по проводам.

В любом случае цель состоит в том, чтобы иметь родительский класс модели, который может сериализовать все его свойства.

Мне известна инфраструктура Zsync для синхронизации данных с локальными и удаленными основными хранилищами данных, однако я не верю, что она работает на iPhone

0 голосов
/ 03 марта 2011

Вы хотите или SQLite или Core Data. А между тем в вашем конкретном случае используйте SQLite. Гибкость в работе, и вы можете использовать знания SQL и данные SQL на других платформах. Использование SQL как локально, так и на стороне сервера, должно сделать вашу разработку наиболее эффективной.

...