如何在swift3中显示imagePath中的图像

时间:2017-06-05 07:00:00

标签: ios uitableview swift3 uiimageview

我有来自soap的回复,作为image_path

  

(self.posts.value(forKey:“image_path”)as![String])[indexPath.row]

这是我的回复

  

http://sf.iipl.info/ImageCSharp.aspx?Location=C:\\infinityhost\\demo11.iipl.info\\data\\app\\user_location_photo\\8000034939_Resize\\&FileName=1_35f28e55-ca31-4918-8b41-9eb7f3070ace

我无法将此回复转换为我的网址,我想在我的tableViewCell中显示此图片

public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
    {
        print((self.posts.value(forKey: "image_path") as! [String])[indexPath.row])

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

         let urlString = (self.posts.value(forKey: "image_path") as! [String])[indexPath.row] as String
        print("\(urlString)")



        let fileUrl = NSURL(fileURLWithPath: (self.posts.value(forKey: "image_path") as! [String])[indexPath.row])
        print(fileUrl as Any)



            let data = try? Data(contentsOf: fileUrl) //make sure your image in this url does exist, otherwise unwrap in a if let check / try-catch

                self.Responseimage = UIImage(data: data!)!



        cell.LocationImage?.image = LocationImagView1
    return cell as UITableViewCell


    }

1 个答案:

答案 0 :(得分:0)

首先将import SDWebImage库导入到项目中,然后根据您的要求在视图控制器中编写以下代码。

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "ItemCell", for: indexPath as IndexPath) as! ItemCell

    let urlStr = "https:\\images.com\image\12345.png".addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)

    print("URL :: \(urlStr!)");

    cell.imgItem.sd_setImage(with: URL(string: urlStr!), placeholderImage: UIImage(named: "item_placeholder"), options: [.refreshCached, .retryFailed, .allowInvalidSSLCertificates])

    }else{
        cell.imgItem.image = UIImage (named: "item_placeholder")
    }

    return cell
}