Объект CoreData экземпляра без сохранения - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть проблема с CoreData, которая вылетает из моего приложения.enter image description here Эта функция вылетает из моего приложения с таким сообщением: enter image description here

Если я это сделаю, это больше не вылетает (я изменил объявление курса в моемfunc)

: enter image description here И соответствующий объект coreData: enter image description here

Что я пытаюсь сделать?Когда мое приложение запускается, оно получает ценность от iPhone.Массив строки, другой из даты, другой из Int.Вот так:

Let tblNoms : [« English », « programming », « science »]
let tblDates : [08:25, 09:50, 07:30]
Let tblInt : [3, 8, 12]

Поэтому я беру по одному из каждого, чтобы создать «Курс» в приведенном здесь примере, чтобы создать курс с английским 08:25 3, программирование 09:50 8, науки 07:30 12Когда «Курс» создан, поместите его в массив [Курс].Затем я делаю запрос на выборку CoreData, чтобы увидеть, являются ли мои локальные данные == массив, который я только что создал, и обновлять, если это необходимо.Итак, вы понимаете, что созданный мной массив не обязательно сохраняется в CoreData.Я просто хочу использовать этот массив курса временно, а затем, если я хочу сохранить курс, который находится в CoreData.

Надеюсь, вы понимаете, что мои объяснения были настолько ясны, насколько это возможно

1 Ответ

0 голосов
/ 15 февраля 2019

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

Что-то вроде:

lazy var persistentContainer: NSPersistentContainer = {

        let container = NSPersistentContainer(name: "MyModel")

        let description = NSPersistentStoreDescription()
        description.shouldInferMappingModelAutomatically = true
        description.shouldMigrateStoreAutomatically = true
        description.type = NSInMemoryStoreType

        container.persistentStoreDescriptions = [description]

        container.loadPersistentStores(completionHandler: { (storeDescription, error) in
            if let error = error as NSError? {
                fatalError("Unresolved error \(error), \(error.userInfo)")
            }
        })

        return container
    }()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...