В чем разница между двумя инициализаторами NSManagedObject - PullRequest
0 голосов
/ 26 июня 2019

Если кто-нибудь может мне помочь, чем отличается создание объекта подкласса NSManagedObject от следующих методов инициализации:

INIT (контекст:)

против

INIT (объект: insertInto:)

Спасибо.

1 Ответ

0 голосов
/ 26 июня 2019

Речь идет о неявном и явном указании имени объекта, поэтому

guard let appDelegate =
    UIApplication.shared.delegate as? AppDelegate else {
        return
}

let managedContext =
    appDelegate.persistentContainer.viewContext

1- Это создаст объект из сущности с именем Person, представленной классом CustomObj, и вставит его в managedContext

let entity =
    NSEntityDescription.entity(forEntityName: "Person",
                               in: managedContext)!

let person1 = CustomObj(entity: entity, insertInto: managedContext)

2- Это создаст объект из класса CustomObj, где имя сущности равно CustomObj, и вставит его в managedContext

let person2 = CustomObj(context: managedContext)

class CustomObj:NSManagedObject {

}
...