Ну, NSPersistentStore
- это абстрактный базовый класс. Один из его четырех подклассов должен быть специально создан в коде. Таким образом, тип магазина по умолчанию не существует.
Однако, есть некоторый код шаблона, который генерируется, когда вы выбираете один из шаблонов Новый проект или Новая цель в Xcode. В текущей версии (Xcode 10), когда вы включаете флажок Использовать базовые данные , вы получаете в реализации AppDelegate
свойство lazy var persistentContainer
, которое предоставляет одноэлементный объект NSPersistentContainer
. По умолчанию это магазин, который вы будете использовать в новой цели. Но что это за тип магазина? Что ж, постоянные хранилища NSPersistentContainer
указаны в его свойстве persistentStoreDescriptions
array. По умолчанию этот массив содержит одно постоянное хранилище типа SQLite, поддерживаемое файлом в папке Application Support
контейнера вашего приложения. В общих чертах это тип магазина по умолчанию , о котором вы спрашивали.
Процедура изменения этого типа хранилища описана в разделе Обсуждение в документации NSPersistentContainer.persistentstoredescription .
Итак, вы видите, что default на самом деле в шаблонах проектов Xcode. Чтобы получить то, что вы хотите, вы можете поместить написанный вами код после прочтения этой документации в новый шаблон проекта и добавить его в ~/Library
. Вы можете переопределить один из шаблонов проектов по умолчанию или создать свой собственный с новым именем. Базовый пример приведен в этом сообщении в блоге Джейка Крейга . Если этого вам недостаточно, Кит Харрисон опубликовал весьма тщательный реверс-инжиниринг шаблонов проектов Xcode .