如何链接两个Realm对象

时间:2016-03-23 10:29:30

标签: ios swift realm

我是iOS开发新手,目前正在使用Realm作为数据库。我的第一个tableview显示Restaurant对象和第二个表显示客户对象。我如何链接这两个对象?意味着当我点击每个餐厅时它会显示不同的顾客。

class Restaurant: Object {
    dynamic var restname: String = ""
    dynamic var date: String = ""
}

class Customer: Object {
    dynamic var id = 0
    dynamic var name: String = ""
    dynamic var price: Float = 0.0
    dynamic var drinks: Float = 0.0

    override static func primaryKey() -> String? {
        return "id"
    }
}

2 个答案:

答案 0 :(得分:0)

如果我明白,在餐厅课上就这样说:

dynamic var _customer = Optional(Customer())

或在Customer类中放置以下行:

dynamic var _restaurant = Optional(Restaurant())

注意:短划线的变量名称可能是任何名称,我的习惯是放低点划线

答案 1 :(得分:0)

您可以像这样引用模型

class Customer: Object {
    dynamic var restaurant: Restaurant?
}

您还可以与LinkingObjects(fromType:, property:)

建立反向关系

您可以使用其他模型编写

class Restaurant: Object {
    let customers = LinkingObjects(fromType: Customer.self, property: "restaurant") 
}

这样你就不会重复关系了。