Согласно вашему списку, ItemQuant всегда равен нулю, и вы присваиваете одно и то же значение в cell.itemQuantityLabel.text
, поэтому оно всегда будет равно нулю.
Далее внесите изменения в свой код, не используйте NSStuff в Swift .
Обновите cellForRowAt indexPath
, как показано ниже
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell") as! RestaurantItemViewCell
cell.delegate = self as? TableViewCellDelegate
cell.selectionStyle = UITableViewCellSelectionStyle.none
//assign item name to cell
let dict = restMenu[indexPath.row]
print("the selected dict ", dict)
cell.itemNameLabel.text = dict["ItemName"] as! String
cell.itemPriceLabel.text = dict["ItemPrice"] as! String
cell.itemQuantityLabel.text = dict["ItemQuant"] as! String
return cell
}
Надеюсь, это работает для вас.
К вашему сведению.Выше код не проверен.Это только для справки.
Примечание Везде, где вы хотите обновить количество товара Получите индекс, по которому вы хотите обновить количество, и выполните следующие действия:
restMenu[index]["ItemQuant"] = "2" // index is you will get somehow & 2 is just for example you can do what you want there.
ОБНОВЛЕНИЕ
Согласно вашему последнему комментарию, это предложение.
Вместо структуры словаря создайте подходящие классы модели и проанализируйте plist, ваш cellForRowAt indexPath
будет изменено, Ваше ItemQuant должно иметь значение Int .Передайте объект restMenu
другому ViewController
и обновите его ItemQuant .Если вы вернетесь назад, просто перезагрузите данные таблицы.Он покажет вам изменения в ItemQuant .