Swift 为什么领域对象不符合CVarArgType?

Swift 为什么领域对象不符合CVarArgType?,swift,nspredicate,realm,Swift,Nspredicate,Realm,我正在尝试按父对象查询子对象。因此,我有以下结构: class A : Object { } class B : Object { dynamic var parent: A? } 以下是未编译的查询代码: let parent = A() let predicate = NSPredicate(format: "parent == %@", parent) let results = realm.objects(B).filter(predicate) 因为A类不符合CVarA

我正在尝试按父对象查询子对象。因此,我有以下结构:

class A : Object {

}

class B : Object {
    dynamic var parent: A?
}
以下是未编译的查询代码:

let parent = A()
let predicate = NSPredicate(format: "parent == %@", parent)
let results = realm.objects(B).filter(predicate)
因为A类不符合CVarArgType。既然官方文档建议使用
NSPredicate
,我很好奇为什么它是这样设计的,我不能使用这样的谓词

我使用Xcode 7.2和Realm v0.96.2

更新#1

以下代码可以正常工作:

let parent = A()
let results = realm.objects(B).filter("parent == %@", parent)

所以问题只在于
NSPredicate

结果表明,用户定义的类型不容易符合
CVarArgType
,即使它们是
NSObject
的后代


作为一种解决方法,您可以坚持使用
RealmCollectionType.filter
或使用
NSPredicate(格式:\u argumentArray:\u)

您在此处发布的两个代码片段都应该可以使用。你使用哪个版本的Xcode/Swift?@marius我用这些信息更新了我的问题。Xcode 7.2和Realm v0.96.2。你说得对。我创建了一个记录。谢谢