向 NSManagedObject 添加新元素

add new element to NSManagedObject

我有一个名为 "Person"

的 NSManagedObject Class
import Foundation
import CoreData

@objc(Person)
public class Person: NSManagedObject {
    @NSManaged public var firstName: String
    @NSManaged public var secondName: String
}

在另一个视图控制器中,我设置了以下变量:

var Persons = [Person]()

现在我想为我的变量 Persons 添加一个新值。 我试过这样的事情:

Persons.append(<newElement: Person>)

但是我必须为占位符使用哪种语法 <newElement: Person> 添加一个有名字和名字的新人?

你必须使用指定的初始化程序

var people = [Person]() // variable names are supposed to start with a lowercase letter.

let newPerson = NSEntityDescription.insertNewObject(forEntityName: "Person", into:context) as! Person
newPerson.firstName = "John"
newPerson.lastName = "Doe"
people.append(newPerson)

context表示Core Data堆栈的托管对象上下文。

要永久保存新对象,您必须保存上下文。