如何将 UIStepper 保存到 CoreData (swift 3)
Posted
技术标签:
【中文标题】如何将 UIStepper 保存到 CoreData (swift 3)【英文标题】:How to save UIStepper to CoreData (swift 3) 【发布时间】:2017-03-15 21:42:49 【问题描述】:我在 Tapleviewcell 中使用 UIStepper,但我不知道如何在我的 CoreData 中保存步进值?
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
let cell: StepperTableViewCell = tableView.dequeueReusableCell(withIdentifier: "cell") as! StepperTableViewCell
//stepper is your UIStepper reference from StepperTableViewCell
cell.stepper.tag = indexPath.row
cell.stepper.addTarget(self, action: #selector(stepperAction(sender:)), for: .valueChanged)
return cell
func stepperAction(sender: UIStepper)
print("Stepper \(sender.tag) clicked. Its value \(sender.value)")
【问题讨论】:
你想做什么?只需保存 sender.value?你真的需要核心数据吗?也许 UserDefaults 也会很棒?对于核心数据,请查看此处raywenderlich.com/145809/getting-started-core-data-tutorial 或此处learnappdevelopment.com/ios-app-development-free/… 或此处medium.com/ios-geek-community/… 我在我的项目中使用 CoreData,步进器是其中的一部分。我知道如何将文本从 UITextfield 保存到 CoreData,但我不知道如何在 CoreData 中保存 IUStepper 值 无论如何我不明白这个问题。 sender.value 是双精度数或数字,不是吗? Core Data 支持双精度。以与字符串相同的方式保存它。见这里:***.com/questions/37958530/using-double-in-core-data 我的 UIStepper 在 tableviewcell 中,我不知道如何保存刚刚点击的步进器,对不起我的语言。 【参考方案1】:1.您像这样在 StepperTableViewCell 中创建一个变量
var callBackStepper:((_ value:Double)->())?
2.您在 StepperTableViewCell 中创建一个 IBACTION(不要忘记引用您的 UI) 可能看起来像这样:
@IBAction func stepperTapped(sender: AnyObject)
callBackStepper?(sender.value)
在你的 UIViewController 中你设置回调的 tableView
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
let cell: StepperTableViewCell = tableView.dequeueReusableCell(withIdentifier: "cell") as! StepperTableViewCell
cell.callBackStepper = value in
print("every time called when you use UIStepper \(value)")
return cell
它未经测试,但它应该可以工作,请提供反馈
【讨论】:
我还没有测试,但是如何保存 CoreData 中每个单元格的步进值? 我以为你知道当你拥有价值时如何持久保存价值?您总是在回调中获得值。要永久保存它,请查看 ***.com/questions/37958530/using-double-in-core-data 请先测试代码! 我测试了它,现在我有了价值,但我在每个单元格中都有价值,因为我的项目中有 tableview,所以如何使用每个单元格中的每个新步进值更新 CoreData。 你能用 github 或 zip 分享你的项目吗? 理解起来很复杂:(但是我有一个表格视图,并且在每个单元格中都有步进器,现在我可以获得步进器值但我不知道如何更新/编辑旧值核心数据。以上是关于如何将 UIStepper 保存到 CoreData (swift 3)的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 uistepper 乘以 segue 数据传输中的值 [关闭]
swift - 如何从另一个类设置 UIStepper 值?
当 UIStepper 在 Swift 4 中以编程方式点击时如何更改 UILabel 的文本,如果它们都在 UITableViewCell 中?