tableViewCell图像到新视图

时间:2017-04-02 02:38:35

标签: ios swift uitableview uiimage

我的图片未在我的新视图中显示,它在我的控制台中显示了网址,但在模拟器或设备上没有显示。我从firebase获取数据并将其发送到名为User的类。然后数据会显示在我的tableViewCell上,然后我会转到一个新的ViewController,但是图像视图是空白的。

//我的tableViewController代码

.boardpic{
  margin: 0;
  padding: 0;
  width: 32px;
  height: 32px;
  float:right;
}

//我的目的地ViewController

 override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let cell = tableView.dequeueReusableCell(withIdentifier: "prefCell", for: indexPath) as! SFPTableViewCell

      let user = userList[indexPath.row]

    cell.name.text = userList[indexPath.row].name
    cell.location.text = userList[indexPath.row].location
    cell.bio.text = userList[indexPath.row].bio

    if let imageURL = user.image {

        cell.imageOne.loadImageUsingCacheWithUrlString(urlString: imageURL)
    }

          return cell
}

   override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

    if let destination = segue.destination as? SFProfileViewController{
        let cell = sender as! UITableViewCell
        let selectedRow = tableView.indexPath(for: cell)!.row
        destination.nameProfile = userList[selectedRow].name!
        destination.locationProfile = userList[selectedRow].location!
        destination.imageOneUrl = userList[selectedRow].image!

    }
        }

2 个答案:

答案 0 :(得分:0)

将此行destination.imageOneUrl = userList[selectedRow].image!替换为

destination.imageOne = userList[selectedRow].image!

OR

将图像URL从tableViewCell传递给新的Controller,然后像在tableview委托中那样从缓存加载图像。

答案 1 :(得分:0)

更改以下行并传递imageOne Url而不是图片

imageOne.image = UIImage(named: imageOneUrl)

imageOne.loadImageUsingCacheWithUrlString(urlString: imageURL)

由于imageoneurl是url而不是图像名称