1 Я полагаю, вы имеете в виду следующее:
@synthesize managedObjectContext=__managedObjectContext;
@synthesize managedObjectModel=__managedObjectModel;
@synthesize persistentStoreCoordinator=__persistentStoreCoordinator;
Этот формат позволяет вам создавать методы доступа для переменной с другим именем (то есть имена методов доступа для метода получения / установки могут отличаться от имени переменной). Если переменная не была ранее определена, то операция синтеза автоматически создаст для вас переменную синтезированного экземпляра.
2 Как вы уже поняли из имени файла, постоянное хранилище по умолчанию для CoreData - SQLite; однако это не ограничено этим одним типом. При первом создании постоянного хранилища вы отправляете сообщение persistentStoreCoordinator, в котором для addPersistentStoreWithType установлено одно из следующих значений:
NSSQLiteStoreType
NSBinaryStoreType
NSInMemoryStoreType
Если честно, если у вас нет веских причин изменить его, вам, вероятно, лучше всего придерживаться SQLite.
3 URL-адрес постоянного хранилища создается путем создания каталога, в котором выполняется приложение (с сообщением applicationDocumentsDirectory - записанного в другом месте вашего кода), а затем добавлением имени файла постоянного хранилища к нему через параметр URLByAppendingPathComponent , Вы можете изменить это, чтобы добавить подпапки или изменить имя файла, если хотите.