无法使用类型为((Int?)'的参数列表来调用类型为'String'的初始化程序

时间:2019-02-25 09:40:54

标签: ios swift

在我的应用程序中,我从数组中的模型文件中获取数据,然后将该数组传输到下一个vc。

当我尝试使用代码时,我面临以下问题:

  

无法使用参数列表为'String'调用初始化程序   输入'(Int?)'

extension Invoiceview:UITableViewDelegate,UITableViewDataSource
{
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        invoicetableviewhight.constant = CGFloat(30*Orderdata.count)
        return Orderdata.count
    }
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        let cell = tableView.dequeueReusableCell(withIdentifier: "InvoiceTableViewCell")as! InvoiceTableViewCell
        let model = Orderdata[indexPath.row]
        cell.ordertype.text = model.prodName
        cell.orderprice.text = String(model.price)






        return cell
    }
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 30
    }
}

任何建议如何解决此错误?

1 个答案:

答案 0 :(得分:1)

更新

cell.orderprice.text = String(model.price)

使用

if let priceOfProduct = model.price {
   cell.orderprice.text = String(priceOfProduct )
}
else{
   cell.orderprice.text = "";
}