我有一个这样的模型:
@Model
final class MyModel: Identifiable, Equatable,ObservableObject {
@Attribute(.unique) public let id: UUID
...
var searchables: [String] = []
descriptor.predicate = #Predicate<MyModel> { item in
item.searchables.contains(where: { $0.localizedStandardContains(searchQuery) })
}
但是,它给了我以下错误:
Can't have a non-relationship collection element in a subquerySUBQUERY...
执行此类查询的正确方法是什么? SwiftData 是否支持它?
您必须在谓词之外定义“item.searchables”。我希望他们能改变/改进这一点。现在只需在您的函数内分配一个局部变量并将该变量提供给您的谓词。