ios - 核心数据简单关系-NSSet

标签 ios swift core-data

我正在尝试处理 xCode 中的关系,但遇到了一些问题:

我想创建一个简单的 User 到 favoriteThing 关系。 我创建了一个模型,因此每个用户看起来都是这样的:

extension User {

@NSManaged var name: String?
@NSManaged var favoriteThings: NSSet?

}

extension FavoriteThing {

@NSManaged var thingName: String?
@NSManaged var user: User?

}

我连接了一个表格 View (因此它为每个用户显示 favoriteThing)。

问题是,当我创建一个新的 favoriteThing 时,如何将这个东西添加到 User 类中创建的 favoriteThings NSSet 中?

当我从 TableView 中删除这个 favoriteThing 时会怎么样? (它由 fetchedResultsController 管理)如何从提到的 favoriteThings NSSet 中删除它?

感谢任何帮助!

最佳答案

对于一对多关系,最简单的方法是 添加一个对象到多对多关系就是设置属性 逆对一关系:

theFavoriteThing.user = theUser

这会自动更新theUser.favoriteThings以包含 最喜欢的东西

要删除它,只需将逆对一关系设置为 nil:

theFavoriteThing.user = nil

关于ios - 核心数据简单关系-NSSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34706117/

相关文章:

ios - 让多个 IF 语句子句协同工作

ios - 从 CMSampleBuffer 播放音频

iphone - 重新排序控件未显示在 TableView 中

ios - 图像集名称 "xxx"由具有本地化 Assets 目录 (.xcassets) 的多个图像集使用

ios - Realm swift : Convert Results to Swift Array

swift - swift 闭包中的 self 引用在一段时间内返回 nil

iphone - NSManagedObjectContext 的 performBlockAndWait : not executing on the receiver's queue

ios - 将泛型类作为参数传递给 swift 中的函数

iphone - 当应用程序进入后台时关闭弹出窗口

ios - 导航栏 (ios) 的未对齐分段控件