SDWebImage doesn't work

2019-07-23 19:35发布

问题:

What am I doing wrong? Everything runs but I don't get the Images, help! Thanks!

import UIKit
import Firebase
import FirebaseDatabase
import SDWebImage

struct postStruct {
    let title : String!
    let downloadURL : String!

}

class ZeroHomeViewController: UITableViewController {
    var posts = [postStruct]()

    override func viewDidLoad() {
        super.viewDidLoad()
        let ref = Database.database().reference().child("Posts")
        ref.observeSingleEvent(of: .value, with: { snapshot in

            print(snapshot.childrenCount)

            for rest in snapshot.children.allObjects as! [DataSnapshot] {

                guard let value = rest.value as? Dictionary<String,Any> else { continue }
                guard let  title = value["Title"] as? String else { continue }
                guard let  downloadURL = value["Download URL"] as? String else { continue }
                let post = postStruct(title: title, downloadURL: downloadURL)
                self.posts.append(post)
            }

            self.posts = self.posts.reversed(); self.tableView.reloadData()

        })
    }

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return posts.count
    }

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

        let cell = tableView.dequeueReusableCell(withIdentifier: "cell")
        let imageView = cell?.viewWithTag(200) as! UIImageView

        imageView.sd_setImage(with: URL(string: "downloadUrl"), placeholderImage: UIImage(named: "placeholder.png"))

        let label1 = cell?.viewWithTag(1) as! UILabel
        label1.text = posts[indexPath.row].title
        return cell!
    } 
}

回答1:

Secondly

Replace this line imageView.sd_setImage(with: URL(string: "downloadUrl"), placeholderImage: UIImage(named: "placeholder.png"))

With this

imageView.sd_setImage(with: URL(string: "www.domain.com/url"), placeholderImage: UIImage(named: "placeholder.png"))

Make sure your edit the url to the image you want