Swift: NSManagedObject Создать объект, не сохраняя его в постоянстве - PullRequest
0 голосов
/ 27 апреля 2018

Здравствуйте! У меня есть объект, который зарегистрирован как сущность в моих coreData, которая наследуется от NSManagedObject.

Вызов для создания объекта и его сохранения выглядит следующим образом:

let user = User(context: PersistenceService.context)
    user.name = "My name"
    user.address = "My Address"

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

    let user = User()
    user.name = "My name"
    user.address = "My Address"

Но когда я это так называю, мое приложение для аварийного завершения.

Как я могу создать несколько init () в соответствии с моими потребностями?

Вот мой класс обслуживания персистентности:

class PersistenceService {
// MARK: - Core Data stack

private init() {}

static var context: NSManagedObjectContext {
    return persistentContainer.viewContext
}

static var persistentContainer: NSPersistentContainer = {
    let container = NSPersistentContainer(name: "Database")
    container.loadPersistentStores(completionHandler: { (storeDescription, error) in
        if let error = error as NSError? {
            fatalError("Unresolved error \(error), \(error.userInfo)")
        }
    })
    return container
}()

// MARK: - Core Data Saving support

static func saveContext () {
    let context = persistentContainer.viewContext
    if context.hasChanges {
        do {
            try context.save()
            print("SAVED")
        } catch {
            let nserror = error as NSError
            fatalError("Unresolved error \(nserror), \(nserror.userInfo)")
        }
    }
}

}

Я уже смотрю на вопрос других людей, но он не соответствует тому, что я ищу, и его цель C я не понимаю цели C я хочу быстро, я использую отделенный класс PersistenceService спасибо

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