Database 领域数据库关系

Database 领域数据库关系,database,relationship,realm,Database,Relationship,Realm,我需要Swift 2.0领域数据库关系方面的帮助。我有两个数据模型,一对多的类别和费用关系 class Category: Object { dynamic variable categoryid = 0 dynamic variable category_name = "" } class Expense: Object { dynamic var expenseid = 0 dynamic var expensename = "" dynamic var catego

我需要Swift 2.0领域数据库关系方面的帮助。我有两个数据模型,一对多的类别和费用关系

class Category: Object {
  dynamic variable categoryid = 0
  dynamic variable category_name = ""
}

class Expense: Object {
  dynamic var expenseid = 0
  dynamic var expensename = "" 
  dynamic var category: Category? = nil
}
为此,我需要筛选特定类别的费用结果

let records = try! Realm().objects(Expense).filter(??????)
如何仅筛选所选类别的记录


此外,我正在维护一个类别,我想过滤我的结果,而不是表索引。我是否应该通过
prepareForSegue
功能将
categoryid
从一个视图设置到另一个视图?

您可以通过首先检索给定的
类别
对象并在查询中使用该对象来筛选
费用
对象:

let category = …
let records = try! Realm().objects(Expense).filter("category = ?", category)

关于你的问题:你可以使用
prepareForSegue
在视图控制器之间传递数据。谢谢Marius,但是它仍然给出了错误“类型名称后需要成员名或构造函数调用”,我应该如何解决这个问题,你能为这个问题建议git上的任何项目吗。另外,realm实际上是如何维护这种关系的。我来自Oracle背景,有定义关系的习惯,如tableA.id=tableB.id,因此希望了解这一点。您可以通过编写
Expense.self
而不仅仅是类型名称来解决此错误。这通常是Swift所需要的,当类型与其他参数一起传递时,所以我猜,您正在调用另一个方法?对于您的附带问题:Realm的核心有一个原生的链接概念,它的工作方式很像指针。