Прямо сейчас у меня есть JSON-файл, который составляет около 30 МБ, файл в формате JSON является словарем в формате:Более эффективный способ загрузки и извлечения файла JSON в swift?
{"chinesePhrase":[
{"traditional": "21三體綜合症", "simplified": "21三体综合症","pinyinRead": "èr shí yī sān tǐ zōng hé zhèng", "pinyinType": "er4 shi2 yi1 san1 ti3 zong1 he2 zheng4", "definition": ["trisomy","Downs syndrome"]},...
]}
Каждая запись затем поместить в ячейку таблицы, и есть панель поиска для пользователей для поиска того, что они хотят, а затем, когда выбрано, сохраняется в CoreData.
Мой вопрос:
Каждый раз, когда я открываю приложение, он должен повторно разбить файл JSON для заполнения ячеек таблицы; есть ли лучший способ сделать это, чтобы файл JSON не нужно повторно анализировать каждый раз, когда открывается контроллер вида, в котором есть все словарные записи?
«Если вы можете воссоздать эти значения во время выполнения (загружая из Интернета, делая вычисления, что угодно), то NSCache может удовлетворить ваши потребности. Если данные нельзя воссоздать (например, это пользовательский ввод, он чувствителен к времени, и т. д.), тогда вы не должны хранить его в NSCache, потому что он будет уничтожен там ». Джонатан в этом ответе: http://stackoverflow.com/a/5756162/2714702 – Vizllx
Почему бы просто не разобрать его один раз и не хранить в' CoreData', тогда вы можете достичь таких вещей, как ленивые данные загрузки для вашего «TableView», а также позволить пользователям выполнять поиск по данным «CoreData»? – sbarow