gpt4 book ai didi

ios - 从类模型错误填充 tableView 单元格中的项目?

转载 作者:行者123 更新时间:2023-11-28 16:14:01 28 4
gpt4 key购买 nike

我有以下项目的类模型。我在部分中显示 itemsName、itemprice。以及基于索引的单元格中的 Addonname 和 AdddonPrice .. 部分的数量和单元格的数量正确地来自类模态。部分数据也工作正常。问题是将插件数据显示到 customTableCell 中。

class Cart{

var itemID:AnyObject?
var itemName:AnyObject?
var itemPrice:AnyObject?

var cartAddon:[AnyObject?]


init(itemID:AnyObject?,itemName:AnyObject?,itemPrice:AnyObject?,cartAddon:[AnyObject?]){
self.itemID = itemID
self.itemName = itemName
self.itemPrice = itemPrice
self.cartAddon = cartAddon

}

}

class CartAddon {

var addonID:Int?
var addonName:String?
var addonPrice:Double?

init(addonID:Int?,addonName:String?, addonPrice:Double?){

self.addonID = addonID
self.addonName = addonName
self.addonPrice = addonPrice

}

}

表格 View 代码

func numberOfSectionsInTableView(tableView: UITableView) -> Int {


return cartArray.count
}
func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 50
}
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {

let header = tableView.dequeueReusableCellWithIdentifier("cartheadercell") as! cartHeaderCell

header.ItemnameLbl.text = cartArray[section].itemName as? String
header.ItemPriceLbl.text = (cartArray[section].itemPrice as! String)

return header


}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return cartArray[section].cartAddon.count
}
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 30
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

let cell = tableView.dequeueReusableCellWithIdentifier("cartcell", forIndexPath: indexPath) as! AddonCell

//error in this part

let cart: Cart = cartArray[indexPath.row].cartAddon[indexPath.row]
if let name = cart.cartAddon[indexPath.row]!["AddonName"]{

cell.AddonNameLbl.text = (name as! String)
}


cell.AddonPriceLbl.text = "£ 0.0"

return cell
}

数据以这种形式出现,我必须显示的是:

Optional(9 Inch Thin & Crispy Margarita)
Optional(£3.40)
Optional(1749)
[Optional(Chicos_Pizza.CartAddon), Optional(Chicos_Pizza.CartAddon), Optional(Chicos_Pizza.CartAddon), Optional(Chicos_Pizza.CartAddon)]

最佳答案

问题是您需要使用 indexPath.section 从数组而不是 indexParh.row 访问 Cart 对象,因此请更改您的 cellForRowAtIndexPath 这样的代码。

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

let cell = tableView.dequeueReusableCellWithIdentifier("cartcell", forIndexPath: indexPath) as! AddonCell
if let cartAddon = cartArray[indexPath.section].cartAddon[indexPath.row] as? CartAddon, let name = cartAddon.addonName {

cell.AddonNameLbl.text = name
}
else {
cell.AddonNameLbl.text = "Set here some default value or blank string"
}
cell.AddonPriceLbl.text = "£ 0.0"
return cell
}

关于ios - 从类模型错误填充 tableView 单元格中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39271639/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com