gpt4 book ai didi

swift - 为什么 Realm 对象不符合 CVarArgType?

转载 作者:行者123 更新时间:2023-11-30 13:50:33 25 4
gpt4 key购买 nike

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

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(format:_argumentArray:_)

关于swift - 为什么 Realm 对象不符合 CVarArgType?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34340181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com