首页 > 解决方案 > 如何从对象数组中更新键中的值?

问题描述

如何从对象数组中更新键中的值?

我有一个对象数组。我需要更改一个键的值。这意味着我需要更改"quantity":"2","id":"1". 之前是:"quantity":"1","id":"1"

如何改变?

在表格视图单元格中:

class ChartCell: UITableViewCell {
    @IBOutlet weak var name: UILabel!
    @IBOutlet weak var price : UILabel!
    @IBOutlet weak var delete:UIButton!
    @IBOutlet weak var itemQuantityStepper:UIStepper!
    @IBOutlet weak var itemQuantityLabel:UILabel?

    var quantity:Int {
        get {
            if (self.itemQuantityStepper != nil) {
                return Int(self.itemQuantityStepper!.value)
            }

            return 0
        }

        set {
            self.setItemQuantity(quantity)
        }
    }

    override func awakeFromNib() {
        super.awakeFromNib()
    }

    var cartadd : ((ChartCell) -> Void)?

    @IBAction func clickcartaddButton(sender: UIButton) {
        let value = Int(itemQuantityStepper!.value)
        setItemQuantity(value)

        cartadd?(self)
    }

    func setEventData(carts:CartModel)
    {
        self.name.text = carts.cartname
        self.price.text = carts.cartsum

        self.itemQuantityStepper.value = 1
    }

    func setItemQuantity(_ quantity: Int) {
        let itemQuantityText = "Qty. \(quantity)"
        itemQuantityLabel?.text = itemQuantityText

        itemQuantityStepper?.value = Double(quantity)
    }
}

我首先列出了tableview中的数据。在 tableviewcell 中,我使用了步进器。因此,当步进器动作时,数量会增加。我有数量 = 2。我需要在模型中传递这个值。我该怎么做呢?

标签: iosswift

解决方案


您需要将此步进值传递给要加载到表格视图的该数组的对象

通过以下步骤从数组中获取该对象。

将单元格中较陡按钮的标签设置为索引路径。

假设您的模型类就像“myModel”类。而不是将您的数据解析到此模型并将数组加载到您的表中。现在在 cellForRowAtIndexpath 方法中将步进器按钮标签设置为 indexpath.row。因此,当用户单击 stepper 时,将调用您的 slecter 方法,您可以在 sender.tag 中获取索引路径,以便从数组中获取对象。

希望这有帮助!

class myModel : NSObject{
var name: String!
var price: String!
var quantity: String!
}

@IBAction func clickcartaddButton(sender: UIButton) {
 let value = Int(itemQuantityStepper!.value)
 setItemQuantity(value)
 let clickedObj = dummy_dataArray[sender.tag] as! myModel
 clickedObj.quantity = value
 cartadd?(self)
 }

推荐阅读