【问题标题】:Initialzing a custom binding w/ Core Data使用/核心数据初始化自定义绑定
【发布时间】:2021-03-12 12:46:26
【问题描述】:

到目前为止,我对 CoreData 的唯一用途是使用列表并使用获取请求来填充它们。

那么我将如何将一个 Bool 保存为 true 或 false 以用于视图?

bool 将用于填充 ⭐️

我的想法是传递我的 CoreData 类中的一个函数

 static func isFavoritedCheck(using movieID: Int, context: NSManagedObjectContext) -> Bool {
    let model = MovieData(context: context)
    return movieID == model.movieID && model.favorite == true 
}

到视图中的自定义绑定..这是可能的还是使用 FetchRequest 的唯一方法?

struct StarView: View {
@Binding var favorited: Bool
let movieID: Int
let storage: StorageProvider

init(movieID: Int, storage: StorageProvider) {
    self.movieID = movieID
    self.storage = storage
    _favorited = Binding    //stuck here
    
}

【问题讨论】:

    标签: core-data swiftui


    【解决方案1】:

    是的,有可能,像这样,你需要把它包装成Binding!

    struct StarView: View {
        
            let movieID: Int
            let storage: StorageProvider
            @Binding var favorited: Bool
            
            init(movieID: Int, storage: StorageProvider, favorited: Binding<Bool>) {
                self.movieID = movieID
                self.storage = storage
                _favorited = favorited     
            }
    
           var body: some View { 
    
              //. . . 
    
            }
    
    }
    

    【讨论】:

    • 你得到了一半的问题,但我没有故意将favorited 放在参数列表中,因为我想从 init 主体中的 CoreData 属性中给它一个值
    猜你喜欢
    • 2017-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-06
    相关资源
    最近更新 更多