【问题标题】:add new element to NSManagedObject向 NSManagedObject 添加新元素
【发布时间】:2017-05-29 17:15:25
【问题描述】:

我有一个名为“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>)

但是对于占位符&lt;newElement: Person&gt;,我必须使用哪种语法 添加一个有名字和名字的新人?

【问题讨论】:

    标签: cocoa core-data swift3 nsmanagedobject


    【解决方案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 表示 Core Data 堆栈的托管对象上下文。

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

    【讨论】:

    • 这段代码会将值自动保存到核心数据中还是只保存在变量 person 中? :)
    • 您必须显式调用context.save 才能保存数据。
    猜你喜欢
    • 1970-01-01
    • 2018-12-10
    • 1970-01-01
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-09
    • 2015-12-19
    相关资源
    最近更新 更多