Core data SwiftUI@FetchRequest如何解决此属性包装的限制

Core data SwiftUI@FetchRequest如何解决此属性包装的限制,core-data,swiftui,Core Data,Swiftui,@FetchRequest的新SwiftUI属性包装器是一个非常好的工具,但我认为它有重要的局限性。它可以与一些静态内容一起使用。但若我想根据其他变量的状态发出这样的请求,那个么实现起来似乎并不容易 @UserDefault(UserDefaultKey.UserId, defaultValue: "") var userId: String @FetchRequest( entity: Company.entity(), sortDescriptors

@FetchRequest的新SwiftUI属性包装器是一个非常好的工具,但我认为它有重要的局限性。它可以与一些静态内容一起使用。但若我想根据其他变量的状态发出这样的请求,那个么实现起来似乎并不容易

@UserDefault(UserDefaultKey.UserId, defaultValue: "")
    var userId: String

@FetchRequest(
        entity: Company.entity(),
        sortDescriptors: [
            NSSortDescriptor(keyPath: \User.email, ascending: true)
        ],
        predicate: NSPredicate(format: "id == %@", self.userId)
    )
   var user: FetchedResults<User>

这回答了你的问题吗?没有答案没有工作代码没有编译访问绑定@如果您不能更改基于视图状态的谓词排序,则FetchRequest似乎是无用的。
init() {

        var predicate: NSPredicate = NSPredicate(format: "id == %@", self.settings.userId)

        self._fetchRequest = FetchRequest(
            entity: Company.entity(),
            sortDescriptors: [
                NSSortDescriptor(keyPath: \User.email, ascending: true)
            ],
            predicate: predicate!
        )
    }