如何从 Coredata 加载 UIStepper 值?
how to load UIStepper value from Coredata?
我在我的项目中使用 CoreData,我有 uitableview,并且在每个单元格中我都有 UIStepper。现在我可以在 CoreData 中保存 UIStepper 值,例如当我点击 + 它工作正常并将新值保存在 CoreDate 中并且当我重新启动我的应用程序时我可以看到我最后的 uistepper 值但是当我点击 + 它将从1 ,不是我拥有的最后一个值,它会将新值保存在 CoreData 中。
我如何从核心数据加载最后一个值并让我的 UIStepper 从这个值开始计数(核心数据中的最后一个值)
我的函数
func stepper2 (sender: UIStepper){
let appD = UIApplication.shared.delegate as! AppDelegate
let context = appD.persistentContainer.viewContext
//save the object
let aa = Tasks[sender.tag]
aa.stepper = (sender.value)
do {
try context.save()
print("updated!")
print (aa)
print("stepper \(sender.tag) clicked. Its value \(sender.value)")
} catch let error as NSError {
print("Could not save \(error), \(error.userInfo)")
} catch {
}
}
///////////////////
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! TableViewCell
let task = Tasks[indexPath.row]
cell.stepper2.tag = indexPath.row
cell.stepper2.addTarget(self, action: #selector(stepper2(sender: )), for: .valueChanged)
cell.ggg.text = task.mytext
cell.stepperV.text = String(task.stepper)
return cell
}
我没看到你在哪里设置了 UIStepper
s 值。在你的 tableView(_:cellForRowAt:)
实现中你需要这样的东西:
cell.stepperV.text = String(task.stepper)
cell.stepper2.value = task.stepper
我在我的项目中使用 CoreData,我有 uitableview,并且在每个单元格中我都有 UIStepper。现在我可以在 CoreData 中保存 UIStepper 值,例如当我点击 + 它工作正常并将新值保存在 CoreDate 中并且当我重新启动我的应用程序时我可以看到我最后的 uistepper 值但是当我点击 + 它将从1 ,不是我拥有的最后一个值,它会将新值保存在 CoreData 中。
我如何从核心数据加载最后一个值并让我的 UIStepper 从这个值开始计数(核心数据中的最后一个值)
我的函数
func stepper2 (sender: UIStepper){
let appD = UIApplication.shared.delegate as! AppDelegate
let context = appD.persistentContainer.viewContext
//save the object
let aa = Tasks[sender.tag]
aa.stepper = (sender.value)
do {
try context.save()
print("updated!")
print (aa)
print("stepper \(sender.tag) clicked. Its value \(sender.value)")
} catch let error as NSError {
print("Could not save \(error), \(error.userInfo)")
} catch {
}
}
///////////////////
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! TableViewCell
let task = Tasks[indexPath.row]
cell.stepper2.tag = indexPath.row
cell.stepper2.addTarget(self, action: #selector(stepper2(sender: )), for: .valueChanged)
cell.ggg.text = task.mytext
cell.stepperV.text = String(task.stepper)
return cell
}
我没看到你在哪里设置了 UIStepper
s 值。在你的 tableView(_:cellForRowAt:)
实现中你需要这样的东西:
cell.stepperV.text = String(task.stepper)
cell.stepper2.value = task.stepper