【问题标题】:Thread 1: signal SIGABRT on AppDelegate when reloading data on tableView Swift线程 1:在 TableView Swift 上重新加载数据时,在 AppDelegate 上发出 SIGABRT 信号
【发布时间】:2019-01-22 21:48:00
【问题描述】:

我正在使用自定义单元格填充 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
    }

}

任何想法

【问题讨论】:

  • 显示如何在 AppDelegate 中重新加载,这也是 rootVC 吗?

标签: ios swift uitableview


【解决方案1】:

我要做的第一件事是创建一个异常来尝试找出错误所在,这是一个关于如何做到这一点的有用教程:https://mukeshthawani.com/debug-the-sigabrt-error-exception

【讨论】:

  • 太好了,我能够指出错误。基本上是剩余的插座参考。但是现在我在let data = try? Data(contentsOf: url!) 中发现了 nil 错误,它不应该是 nil,因为该数组是从 Firebase 查询中填充的,并且我得到了该数组的正面打印。我知道从 Firebase 存储文件复制的 url 是正确的,但我不确定是否需要引用 Firebase 存储或不晒图像 URL。我应该为此发布一个新问题吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多