ios - LinkingObject 的用法

标签 ios swift mobile realm

我不知道如何在以下情况下使用LinkingObject

class Message: Object{
       ...
      dynamic fromUser : User?
      dynamic toUser : User?
}

class User: Object {
      ....
      let messages = List<Message>()
}

messages 应该包含完整的发送和接收的消息。 如何使用 LinkingObject? 谢谢。

最佳答案

来自文档:

With linking objects properties, you can obtain all objects that link to a given object from a specific property.

就您而言,我猜您希望在 Message 实例中获取所有链接的 User,因此您可以像这样定义 LinkingObjects:

class Message: Object {
      dynamic var fromUser : User?
      dynamic var toUser : User?

      let users = LinkingObjects(fromType: User.self, property: "messages")
}

否则,如果您需要获取来自或发送给用户的所有消息,您可以这样使用LinkingObjects:

class Message: Object {
    dynamic var fromUser : User?
    dynamic var toUser : User?
}

class User: Object {
    let fromMessages = LinkingObjects(fromType: Message.self, property: "fromUser")
    let toMessages = LinkingObjects(fromType: Message.self, property: "toUser")
}

user.fromMessages 将包含所有具有 fromUser == userMessage

请查看Relationships section in the Docs了解更多信息。

关于ios - LinkingObject 的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39991513/

相关文章:

ios - 在 React Native iOS 中添加自定义字体系列

iOS 图表未构建

ios - 打开 WatchOS2 时获取更新的应用程序上下文

html - 当移动设备小于 1000px 时,强制 CSS 对 1000px 应用媒体查询

flash - 什么是 Flash 的最新和最好的替代品?

java - 我如何在 libgdx 中测试屏幕的左侧或右侧是否被触摸

javascript - react native : How to reference current route in Navigator's navigationBar={}?

ios - 类型 'ProfilesTableViewController' 不符合 Xcode 6 GM 种子中的协议(protocol) 'UITableViewDataSource'

ios - 如何更改 iOS Swift 中的默认选项卡栏项目?

swift - 通过返回类型问题重载方法