2016-08-07 2 views
0

У меня есть файл JSON. Размер составляет около 20 МБ.Файл sqlite CoreData в NSBundle

Проект 1. Итак, я создал проект и импортировал данные из этого файла JSON в Core Data. Core Data создает следующие файлы sqlite, wholeDataList.sqlite, wholeDataList.sqlite-shm и wholeDataList.sqlite-wal. Потребовалось 10 минут, чтобы скопировать весь контент из JSON в основные данные и одноразовое создание файла.

Теперь в Project2. Я скопировал все три файла в MainBundle. Мне нужно создать .xcdatamodeld, как если бы я напрямую копировал его из Project1, он не нашел файл .momd.

NSURL *storeURL = [[NSBundle mainBundle] URLForResource:@"entireDataList" withExtension:@"sqlite"]; 
    store =[[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedModel]]; 
    NSError *error; 
[store addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error]; 

Итак, storeURL из NSBundle mainBundle является надежным подходом, где entireDataList.sqlite, entireDataList.sqlite-шм и entireDataList.sqlite-файлы Wal хранятся?

Обычно они находятся в каталоге документов.

+0

Значит, это означает, что это данные семян, чтобы запустить приложение, но оно может быть отредактировано пользователем и сохранены изменения? – Wain

+0

Да, это похоже на запись пользователя..I c, где вы указываете это тоже .. i.e Я буду в состоянии читать, но не писать? – andyPaul

ответ

0

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

Смежные вопросы