Как лучше всего хранить данные приложений на iPhone?

Приложения iPhone могут сохранять данные различными способами (например: NSUserDefault, XML, document, SQLite и т. Д.).

Наша компания всегда использует NSUserDefault для сохранения данных. Однако я не думаю, что NSUserDefault очень хорош, потому что, по моему опыту, он работал медленно.

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


person BPS1945    schedule 27.12.2010    source источник
comment
Какие данные вы сохраняете? Приведите пример вашей модели данных.   -  person Sam Ritchie    schedule 27.12.2010
comment
Это во многом зависит от того, какие данные вы сохраняете и будут ли / как они использоваться вне вашего приложения.   -  person Cody Gray    schedule 27.12.2010


Ответы (4)


Вы можете хранить небольшие данные в NSUserDefaults, но если у вас большая база данных, вам понадобится sqlite или coredata для хранения базы данных. Использование базы данных хорошо для большой базы данных, это обеспечивается Apple, и это эффективно при доступе к базе данных.

NSUserDefaults или каталог документов используется для небольшой базы данных (предположим, что необходимо сохранить имя пользователя для одного пользователя или некоторую другую информацию).

person Ishu    schedule 27.12.2010
comment
Не храните пароли в NSUserDefaults или в каталоге Documents в виде обычного текста ... используйте Связку ключей для его шифрования. См. Этот вопрос SO: stackoverflow.com/questions/190963/ - person Yuji; 27.12.2010
comment
Спасибо Yuji за вашу ценную информацию. - person Ishu; 27.12.2010

Вам просто нужно знать о sql-запросах для хранения данных в базе данных SQLite3 или вы можете использовать Core Data для внутреннего хранилища. Core Data - один из лучших вариантов для хранения данных.

NSUserDefault следует использовать для хранения небольшой информации.

person Rajender Kumar    schedule 27.12.2010

Вы можете использовать NSUserDefaults для хранения любых небольших данных, которые вы хотите сохранить, когда ваше приложение закрывается. Это вы можете использовать для хранения данных для входа в систему, но да, если это безопасно, используйте связку ключей. Вы можете определенно использовать NSUserDefaults для хранения параметров настройки.

База данных SQLite - это любой простой способ хранить большие данные. Core Data - лучший вариант. но вы можете использовать SQLite, если данные вашего приложения не слишком велики. База данных SQlite также может использоваться для хранения данных BLOB, например для хранения байтов файла PDF, загруженных с сервера, и всякий раз, когда вы хотите его использовать, просто записывайте эти байты в файл PDF. Это также сохранит безопасность данных, поскольку данные BLOB в SQLite не могут быть просмотрены.

person Snehal    schedule 27.12.2010

Полезно использовать coreData для хранения больших объемов данных в памяти iPhone. Это оболочка поверх базы данных, которая помогает нам хранить в виде объектов ..... Вы можете найти много примеров по этому поводу ...

person bharath gangupalli    schedule 27.12.2010