Вы можете использовать конфигурации.
[PersistentStoreCoordinator addPersistentStoreWithType:configuration:URL:options:nil error:]
Допустим, вы хотите иметь один контекст управляемого объекта, модель одного управляемого объекта, один координатор постоянного хранилища, но два постоянных хранилища, например, первое будет хранилищем SQLite, а второе - оперативной памятью.store.
Для этой настройки вы создаете две конфигурации: «SQLiteStore» для хранилища SQLite и «InMemoryStore» для хранилища в памяти.В XCode (откройте файл .xcdatamodel):

вы видите список доступных конфигураций вашей модели управляемых объектов.Конфигурация управляемой объектной модели - это, по сути, набор описаний сущностей, связанных с именем строки.Чтобы добавить конфигурацию, используйте элемент главного меню Редактор -> Добавить конфигурацию , когда у вас открыт файл .xcdatamodel, затем введите желаемое имя строки.Перетащите объекты, которые вы хотите сохранить в первом хранилище SQLite, в конфигурацию «SQLiteStore», а другие в конфигурацию «InMemoryStore».
Хорошо, вот и все, теперь пришло время обновить ваш код.Перейдите в область действия, где вы создадите постоянный координатор хранилища и добавите в него постоянные хранилища.Единственное изменение - указание конфигурации для них:
...
persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:yourManagedObjectModel];
NSURL storeURL = … // your store url
if (![__persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:@"SQLiteStore" URL:storeURL options:nil error:&error])
{
NSLog(@"[Core Data error] Unresolved error %@, %@", error, [error userInfo]);
abort();
}
if (![__persistentStoreCoordinator addPersistentStoreWithType:NSInMemoryStoreType configuration:@"InMemoryStore" URL:nil options:nil error:&error])
{
NSLog(@"[Core Data error] Unresolved error %@, %@", error, [error userInfo]);
abort();
}
...
Вот и все, все сущности, которые вы перетащили в конфигурацию «InMemoryStore», будут автоматически сохранены в постоянном хранилище в памяти, и то же самое касается «SQLiteStore»».Возможно, вам придется переустановить ваше приложение на устройстве / симуляторе после этого.
И быстрое резюме:
- Создание конфигураций в редакторе модели управляемых объектов (файл .xcdatamodel);
- В коде добавьте несколько постоянных хранилищ в координатор постоянных хранилищ, указав соответствующее имя конфигурации.
Проверьте эту ссылку для получения дополнительной информации: http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/CoreData/Articles/cdBasics.html#//apple_ref/doc/uid/TP40001650-SW4