将项目数组分配给所选项目 - 核心数据中的多对多关系
Assign array of items to selected item - Many to Many relationship in core data
我正在使用 Core Data 和 Swift 5.5 开发 iOS 应用
我有 2 个实体 ( Category ) 和 ( Item ),我在这些实体之间创建了多对多关系,所以在 Category 中,它有 ( items ),在 Item 中,它有 ( categories )。
现在我想将多个项目分配给选定的类别,所以我尝试了这段代码,但它没有用
var selectedItems = [Item]()
let category = selectedCategory
category.items = selectedItems
do {
try moc.save()
} catch {
print(error.localizedDescription)
}
这种方式在一对多关系中运作良好,但在多对多关系中却行不通。
那么我该如何解决这个问题,或者如何将一系列选定的项目分配给特定类别?
您应该使用生成的添加(或删除)方法之一,而不是写入 属性。如果关系被命名为 items
你应该有两种方法 addToItems
来添加一个或多个 Item
所以试试
category.addToItems(NSSet(array: selectedItems))
我正在使用 Core Data 和 Swift 5.5 开发 iOS 应用 我有 2 个实体 ( Category ) 和 ( Item ),我在这些实体之间创建了多对多关系,所以在 Category 中,它有 ( items ),在 Item 中,它有 ( categories )。
现在我想将多个项目分配给选定的类别,所以我尝试了这段代码,但它没有用
var selectedItems = [Item]()
let category = selectedCategory
category.items = selectedItems
do {
try moc.save()
} catch {
print(error.localizedDescription)
}
这种方式在一对多关系中运作良好,但在多对多关系中却行不通。 那么我该如何解决这个问题,或者如何将一系列选定的项目分配给特定类别?
您应该使用生成的添加(或删除)方法之一,而不是写入 属性。如果关系被命名为 items
你应该有两种方法 addToItems
来添加一个或多个 Item
所以试试
category.addToItems(NSSet(array: selectedItems))