Регистрация пользовательского типа хранилища

Для использования пользовательского типа хранилища в приложении необходимо зарегистрировать тип хранилища в NSPersistentStoreCoordinator использование класса registerStoreClass:forStoreType:. Имя типа должно быть уникальной строкой.

Обычно Вы определяете тип хранилища как строковую константу:

// in MyAtomicStore.h
extern NSString *MY_ATOMIC_STORE_TYPE;
 
// in MyAtomicStore.m
NSString *MY_ATOMIC_STORE_TYPE = @"MyAtomicStore";

Необходимо гарантировать, что тип регистрируется, прежде чем Вы попытаетесь добавить хранилище того типа персистентному координатору хранилища. Например, в приложении делегируют в OS X, в котором Вы могли бы зарегистрироваться applicationWillFinishLaunching:.

- (void)applicationWillFinishLaunching:(NSNotification *)aNotification
{
    [NSPersistentStoreCoordinator registerStoreClass:[MyAtomicStore class]
                                     forStoreType:MY_ATOMIC_STORE_TYPE];
}

В основанном на документе приложении тип является идентификатором NSPersistentDocument использование для соединения персистентного типа хранилища с типом документа (см. persistentStoreTypeForFileType:).