Зачем использовать SQLite над NSArray - PullRequest
1 голос
/ 30 августа 2011

Есть ли причина хранить, скажем, около тысячи строк с базой данных SQLite над NSArray, сохраненным с помощью NSUserDefaults? В чем преимущество наличия базы данных? Спасибо за вашу помощь!

Ответы [ 3 ]

4 голосов
/ 30 августа 2011

Зависит от того, что это за строки и как они будут доступны. Базы данных предлагают сложные возможности запросов и реляционного хранения. Вам нужно запросить это? Будет ли сложность данных расти со временем?

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

3 голосов
/ 30 августа 2011

NSUserDefaults вероятно, не лучший вариант для хранения такого количества данных. SQLite - это хранилище данных с интерфейсом SQL, поэтому вы можете запросить его. Если вы структурируете свои данные, это дает некоторые очевидные преимущества.

Если вам просто нужно постоянное хранилище, рассмотрите -[NSArray writeToFile:atomically:].

2 голосов
/ 30 августа 2011

Хранение 1000 строк в NSUserDefaults в виде массива не составляет большого труда.Одно из преимуществ использования SQL Lite - возможность индексировать вашу коллекцию для быстрого поиска.И, конечно, эта выгода продолжает расти по мере увеличения размера сбора данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...