大佬教程收集整理的这篇文章主要介绍了SwfitUI 2.0 Xcode 12 如何更新核心数据实体的单个属性,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在我的视图模型中实现一个重置方法,该方法将在按钮操作的视图中调用,因此视图将得到更新和持久化
这里是在我的视图模型中发布的实体的属性
var vIEwContext: NsmanagedobjectContext { PersistenceController.shared.container.vIEwContext }
@Published var price: Double
@Published var qty: Int
@Published var sub@R_354_10586@l: Double
这是我尝试过的 resetAllCounters 方法我知道这是错误的方法我只想将数量重置为 0 并更新所有计数器
func resetAllSub@R_354_10586@ls(){
let allCounters: NSFetchrequest<WindowCounter> = WindowCounter.fetchrequest()
do {
let saveDWindowCounters = try self.vIEwContext.fetch(allCounters)
for counter in saveDWindowCounters {
counter.qty = 0
}
try self.vIEwContext.save()
} catch {
print(error.localizedDescription)
}
}
func resetAllSub@R_354_10586@ls(){
let request = NSBatchupdaterequest(entityName: "WindowCounter")
request.propertiesToupdate = ["qty":0]
request.resultType = .updatedObjectsCountResultType
do {
let result = try context.execute(request) as! NSBatchupdateResult
//This print the number of rows affected/updated
print(result.result!)
}catch {
//Handel Catch here
}
}
,
我的解决方案是我决定不在视图模型中观察对象,而是只观察实体本身,因为它符合 ObservabLeobject 然后创建一个子类来处理该方法
extension NsmanagedObjectContext {
func resetAllSub@R_354_10586@ls(){
let allCounters: NSFetchrequest<WindowCounter> =
WindowCounter.fetchrequest()
do {
let savedWindowCounters = try self.fetch(allCounters)
for counter in savedWindowCounters {
counter.qty = 0
counter.sub@R_354_10586@l = 0
}
try self.save()
} catch {
print(error.localizedDescription)
}
} }
以上是大佬教程为你收集整理的SwfitUI 2.0 Xcode 12 如何更新核心数据实体的单个属性全部内容,希望文章能够帮你解决SwfitUI 2.0 Xcode 12 如何更新核心数据实体的单个属性所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。