Лучшая практика для хранения не изменяемых данных на iOS - PullRequest
0 голосов
/ 16 февраля 2012

Я хочу создать навигационное справочное приложение для iOS.

Я рассмотрел следующие способы хранения данных:

жесткое кодирование

plist файл

какой-то файл с разделителями-запятыми

Структура данных, которую я буду использовать, содержит набор строк, массив и ссылку на изображение.

Что делатьВы думаете, что лучший способ сохранить эти данные - без доступа к CoreData?

Спасибо

Также я не думаю, что это будет более 500 записей.

1 Ответ

0 голосов
/ 16 февраля 2012

Ну, это не проблема "наилучшей практики" для любого случая.

Структура данных, которую я буду использовать, содержит набор строк, массив и ссылку на изображение.

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

Для ваших нужд я советую вам заглянуть в NSKeyedArchiver.

NSString, NSArray и UIImage все знают, как кодировать и декодировать себя. Просто используйте NSKeyedArchiver. Обратите внимание, что объекты в ваших коллекциях (например, NSArray) должны принимать @protocol NSCoding.

Если вам нужно открыть это на компьютере Mac, преобразуйте UIImage в NSData, используя правильное представление формата файла изображения (например, PNG или JPEG), поскольку UIImage недоступно.

Подробнее:

жесткое кодирование

Это может означать несколько вещей.

файл списка

Вы работаете с большими типами без списков. Это будет означать, что вам нужно будет без необходимости конвертировать в UIImage <-> NSData и обратно, что приведет к большим накладным расходам - ​​памяти, процессору и, возможно, размеру файла. Все эти типы могут кодировать себя лучше (или даже лучше) представления plist.

какой-то файл с разделителями-запятыми

Ваше изображение не позволит этому произойти (надежно).

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