这是我的问题......我环顾四周,尝试各种各样的东西,但它不起作用......当然没什么了不起但我被卡住了。
我有2个表:Category
和Company
。公司与类别有关系:dynamic var categoryRelation : Category?
它工作得很好我可以在RealmBrowser中看到我的记录。
但现在我想在按类别筛选的列表中显示我的公司。
首先,我通过segue将我的类别对象从CategoryViewController
发送到CompanyViewController
。工作正常我可以在另一边看到我的对象。
但是我应该如何使用filter()
来过滤我的记录?如果我这样做:
var selectedCategoryId: Object?
var arrayOfCompanies = try! Realm().objects(Company)
override func viewDidLoad() {
super.viewDidLoad()
let predicate = NSPredicate(format: "categoryRelation == %@", self.selectedCategoryId!)
arrayOfCompanies = arrayOfCompanies.filter(predicate)
}
我的清单完全是空的。如果我取消过滤器,我会得到我的列表,但不会过滤,我的所有记录都会出现。
答案 0 :(得分:0)
我将为您提供另一种解决方案,即#34;反向关系"。阅读this并试一试:
//find all Companies that have 'selectedCategoryId' as their categoryRelation property
let arrayOfCompanies = selectedCategoryId.linkingObjects(Company.self, forProperty: "categoryRelation")