线程1:在tableView Swift上重新加载数据时在AppDelegate上发出SIGABRT信号

时间:2019-01-21 23:28:35

标签: ios swift uitableview

我正在用自定义单元格填充tableView。我从元组(String:String)的数组中获取了单元标签文本和imageView图像,其中第一个值是商店名称,第二个值是存储在Firebase存储中的图像的Url。 在对Firebase的查询结束时,我得到了availableShopsArray的填充,并为tableView重新加载了数据。在cellForRowAt函数中,我将元组的两个参数分配给单元格标签和图像。但是在重新加载数据时,我在AppDelegate中得到了错误。

这是我声明函数的方式:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
   let cell = tableView.dequeueReusableCell(withIdentifier: "shopCell", for: indexPath as IndexPath) as! ShopTableViewCell
   cell.shopNameLabel.text = self.availableShopsArray[indexPath.row].0
   let url = URL(string: self.availableShopsArray[indexPath.row].1)
   let data = try? Data(contentsOf: url!) //make sure your image in this url does exist, otherwise unwrap in a if let check / try-catch
   cell.imageView?.image = UIImage(data:data!)
   return cell         
}

这是我的细胞班级:

import UIKit

class ShopTableViewCell: UITableViewCell {

    @IBOutlet weak var makerImageView: UIImageView!
    @IBOutlet weak var shopImageView: UIImageView!
    @IBOutlet weak var shopNameLabel: UILabel!
    @IBOutlet weak var shopRatingLabel: UILabel!

    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
    }

    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }

}

关于

的任何想法

1 个答案:

答案 0 :(得分:1)

我要做的第一件事是创建一个异常,以尝试查找错误的位置,这是有关如何执行此操作的有用教程:https://mukeshthawani.com/debug-the-sigabrt-error-exception