使用/核心数据初始化自定义绑定

Posted

技术标签:

【中文标题】使用/核心数据初始化自定义绑定【英文标题】: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
    

【问题讨论】:

【参考方案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 属性中给它一个值

以上是关于使用/核心数据初始化自定义绑定的主要内容,如果未能解决你的问题,请参考以下文章

WPF自定义控件数据绑定出现的问题

核心数据和自定义 NSCell

嵌套的自定义 FormArray 组件不与具有 FormArrayName 的子表单绑定

第二节:指令的使用——自定义指令

模型绑定不适用于 asp.net 核心 Web api 控制器操作方法中的 Stream 类型参数。(即使使用自定义流输入格式化程序)

VUE之自定义指令