cocoa - 将新元素添加到 NSManagedObject

标签 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
}

在另一个 View Controller 中,我设置了以下变量:

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

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

关于cocoa - 将新元素添加到 NSManagedObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44247591/

相关文章:

objective-c - mouseDragged 未在 NSView 的框架外调用

ios - iOS 7 CoreData 中的批量更新数据

core-data - 托管对象模型和持久对象存储之间有什么区别?

Swift:我如何等到变量具有特定值

ios - UIRefreshControl 出现在 Collection View 项的顶部而不是后面

macos - 防止多个用户在 macOS 上同时运行应用程序

objective-c - 我可以将 C 数组添加到 objective-C NSArray 中吗?

xcode - 适用于 Windows 的可移植 Cocoa

ios - 核心数据数据库和应用程序重新安装

ios - 在 swift 3 中使用 NotificationCenter 停止 Dispatchqueue