如何在使用 SwiftData 时过滤字符串列表

问题描述 投票:0回答:1

我有一个这样的模型:

@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 是否支持它?

swift xcode macos orm swiftdata
1个回答
0
投票

您必须在谓词之外定义“item.searchables”。我希望他们能改变/改进这一点。现在只需在您的函数内分配一个局部变量并将该变量提供给您的谓词。

© www.soinside.com 2019 - 2024. All rights reserved.