TableView将图像分配给TVC中的单元格

时间:2017-03-24 11:17:34

标签: ios swift uitableview uiimage tableview

此代码出现问题。基本上我试图使用从twitter中提取的图像来填充表格单元格。此处的url字段的值为http://pbs.twimg.com/profile_images/796924570150301696/35nSG5nN_normal.jpg,但由于某种原因,打印(" REACHED")永远不会打印出来。任何帮助/建议赞赏!

代码段:

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: tIdentifier, for: indexPath) as! TweetCell
    let tweet = tweets[indexPath.section][indexPath.row]
    let url = tweet.user.profileImageURL!
    print(url.absoluteString)
    let data = try? Data(contentsOf: url)
    if (data == nil){
    } else {
        print("REACHED")
        cell.avatarImage = UIImage(data: data!)
    }
    cell.tweet = tweets[indexPath.section][indexPath.row]
    return cell
}

2 个答案:

答案 0 :(得分:2)

这对我有用:

func example() {
    let cell = UITableViewCell()
    let url = URL(string: "http://pbs.twimg.com/profile_images/796924570150301696/35nSG5nN_normal.jpg")

    do {
        let data = try Data(contentsOf: url!)
        print("REACHED")
        cell.imageView?.image = UIImage(data: data)
    } catch {
        print("received this error:\n\(error.localizedDescription)")
    }
}

如果它不能立即起作用,至少你会收到一条错误信息,以帮助你解决问题。祝你好运!

编辑: 您应确保已更新Info.plist以包含以下条目:

  

应用传输安全设置

如果没有此功能,您将无法访问其他网站。 Transport security has blocked a cleartext HTTP

答案 1 :(得分:0)

轻松生活的一些提示......

  • 不要强制打开
  • 请勿在主队列中下载
  • 不要暴露您的手机的TextView
IBOutlet