swift - Swift 是否可以在自定义 tableview 单元格中的 UIstepper 增加或减少时更新 UILabel
问题描述
当步进器更改值时,我正在尝试通过 tableview 之外的 refreshLabel() 更新 UIlabel。已经看到了多个使用事件处理程序的示例,但不知道如何使用它们。(希望最简单的方法,因为我是 swift 新手。)自定义单元代码
import UIKit
class cartTVC: UITableViewCell , UICollectionViewDataSource, UICollectionViewDelegate{
var collectionCell : cartCVC!
@IBOutlet weak var stepper: UIStepper!
@IBOutlet weak var lblPrice: UILabel!
@IBOutlet weak var lblQuantity: UILabel!
var img : UIImage?
var name = ""
var index : Int?
var quantity : Int?
override func awakeFromNib() {
super.awakeFromNib()
collectionView.delegate = self
collectionView.dataSource = self
collectionView.reloadData()
stepper.wraps = true
stepper.autorepeat = true
stepper.maximumValue = 100
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
layer.borderWidth = 2
layer.borderColor = UIColor.black.cgColor
layer.cornerRadius = 10
// Configure the view for the selected state
}
@IBAction func valueChange(_ sender: UIStepper) {
var cart:[CartItems]
if let context = (UIApplication.shared.delegate as? AppDelegate)?.persistentContainer.viewContext{
let data = try? context.fetch(CartItems.fetchRequest())
cart = data as! [CartItems]
cart[index!].quantity = Int16(stepper.value)
cart[index!].totalPrice = cart[index!].price * Int64(cart[index!].quantity)
(UIApplication.shared.delegate as? AppDelegate)?.saveContext()
lblQuantity.text = String(stepper.value).description
lblPrice.text = "\(cart[index!].totalPrice) CREDITS"
}
}
}
解决方案
推荐阅读
- javascript - selenium如何运行一个javascript函数
- apache-kafka - 如何从具有特定偏移量的 kafka 主题获取消息
- angular - 是否可以将 @ContentChild 和 @ContentChildren 用于投影的 DOM 元素?
- angular - Stackblitz 简单 MatDialog 示例无法找到 ComponentFactory
- html - css-grid-gallery-img-description-more 文本管理
- javascript - 遍历 NodeList
- json - Power bi:导入嵌套 json 查询
- c# - C# 添加自定义属性,在调用 setter 时设置属性值
- scala - 火花提交 ClassNotFoundException 或 NoClassDef
- rust - 如何根据 Diesel 的动态参数有条件地按列排序?