我有两个类,并使用realm for swift 4
class ProjectTimeInterval : Object {
@objc dynamic var startDate = Date()
@objc dynamic var endDate : Date?
@objc dynamic var desc : String?
@objc dynamic var running : Bool = false
var parentProject = LinkingObjects(fromType: Project.self, property: "intervals")
}
class Project: Object {
@objc dynamic var name = ""
let intervals = List<ProjectTimeInterval>()
}
以某种方式设置领域并尝试获取过滤后的数据,应用程序中断
var intervals = realm.objects(ProjectTimeInterval.self).filter("parentProject.name MATCHES %@", project.name)
出现此错误
***由于未捕获的异常终止应用&#39;无效的谓词&#39;,原因:&#39;包含数组属性的关键路径必须使用汇总操作&#39;
答案 0 :(得分:0)
好的我自己做了。我需要通过项目获取间隔,所以
var intervals = project.intervals.sorted(byKeyPath: "startDate", ascending: true)
像这样
答案 1 :(得分:0)
你需要先获取parentProject.name,如果没有设置,那就是你得到错误的地方尝试
if let parentName = parentProject.name {
var intervals = parentName.intervals.sorted(byKeyPath: "startDate", ascending: true)
}
如果这样做没有帮助,那就显示你的视图控制器,你可以在哪里获取你的领域。