arrays - 在 Swift 4 中复制 NSManagedObject 对象数组

标签 arrays swift core-data copy swift4

我有一个 NSManagedObject's 数组,我想将它们复制到一个新数组中以便操作它们并且在用户完成后不保存更改。

数组:

var origQuestions: [Questions]?

这是我从 CoreData 检索数据的方式:

self.origQuestions = MainDb.sharedInstance.randomQuestions(entity: "Questions", count: self.questionToShow)

这是我在 Objective-C 中需要的,但我想知道如何在 Swift 4 中这样做:

NSMutableArray *questionsCopy = [[NSMutableArray alloc] initWithArray:self.origQuestions copyItems:YES];

最佳答案

要将 Objective-C 代码转换为 Swift,您需要:

var questionsCopy = NSArray(array: origQuestions, copyItems:true) as! [Questions]

但是由于您将 origQuestions 声明为可选的,因此它需要:

var questionsCopy = origQuestions != nil ? NSArray(array: origQuestions!, copyItems:true) as? [Questions] : nil

是否完全适用于 NSManagedObject(Objective-C 或 Swift)是另一个问题。参见 How can I duplicate, or copy a Core Data Managed Object?及其针对代码的 Swift 答案,这些代码专门涵盖了对 NSManagedObject 实例进行深度复制。

关于arrays - 在 Swift 4 中复制 NSManagedObject 对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55938993/

相关文章:

ios - setter 方法出现 CoreData 错误

javascript - 为什么我会遇到这个范围问题以及如何解决它?

javascript - 如何使用 angularJs 创建具有连续数字的多维矩阵

c - 在数组上使用自由函数 (C) 时我的程序崩溃

快速组合 : How to create a single publisher from a list of publishers?

swift - 在 Swift 中为图像添加阴影

ios - iPhone 和 Apple Watch 应用程序之间 Core Data SQLite 存储更改的通知

java - 使用子对象解析 json 数组

ios - 使 Collection 符合自定义协议(protocol)

ios - 使用 performBackgroundTask 将多个核心数据插入分派(dispatch)到 NSPersistentContainer 时合并冲突