2010-10-22 1 views
1

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

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

ответ

5

Да, NSKeyedArchiver заменяет данные на диске своими данными. Чтобы сделать то, что вы хотите, возможно, потребуется некоторое решение для решения какой-либо базы данных, хотя это и не обязательно SQLite. Насколько велик ваш набор данных? Переписывает ли все, что медленно?

+0

Спасибо Бен. Набор данных может стать довольно большим, поскольку он хранит статистические данные, поэтому я должен в какой-то момент заменить механизм хранения БД. Не уверен, сколько времени потребуется, чтобы переписать, потому что я не успеваю использовать решение DB на платформе iOS. – JMH