首页 > 解决方案 > 使用 Core Data 初始化自定义绑定

问题描述

到目前为止,我对 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-dataswiftui

解决方案


是的,有可能,像这样,你需要把它包装成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 { 

          //. . . 

        }

}

推荐阅读