将新元素添加到NSManagedObject

时间:2017-05-29 17:15:25

标签: cocoa core-data swift3 nsmanagedobject

我有一个名为" Person"

的NSManagedObject类
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> 添加第一个和第二个名字的新人?

1 个答案:

答案 0 :(得分:1)

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

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表示核心数据堆栈的托管对象上下文。

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