我正在尝试使用 NSPredicate 在 SwiftUI 中创建 @FetchRequest,如下所示:
@FetchRequest(entity: CoreDataRecipe.entity(), sortDescriptors: [], predicate: NSPredicate(format: "isRunning == true")) var runningRecipes: FetchedResults<CoreDataRecipe>
不幸的是,我的isRunning
属性是一个计算属性,如下所示:
var isRunning: Bool {
get {
activeStep != nil
}
}
问题是 NSPredicate 会崩溃,因为它在解析谓词时找不到计算属性的字符串。有没有办法让这成为可能?我很想使用它,因为它可以让我创建一个不错的用户体验。
注意:我无法测试 activeStep 作为替代方案,因为它也是一个计算属性,具有更复杂的逻辑。