使用/核心数据初始化自定义绑定
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 属性中给它一个值以上是关于使用/核心数据初始化自定义绑定的主要内容,如果未能解决你的问题,请参考以下文章
嵌套的自定义 FormArray 组件不与具有 FormArrayName 的子表单绑定
模型绑定不适用于 asp.net 核心 Web api 控制器操作方法中的 Stream 类型参数。(即使使用自定义流输入格式化程序)