出口无法连接重复内容UIImageView错误?

时间:2017-06-12 03:44:10

标签: swift image uitableview swift3 uiimageview

我收到一条错误,指出“从ViewController到UIImageView的imageView插座无效。插座无法连接到重复内容”我在故事板上的tableViewCell中添加了一个imageView。我该怎么做才能解决这个问题?

@IBOutlet weak var imageView: UIImageView!

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 }
            self.imageView.sd_setImage(with: URL(string: downloadURL), placeholderImage: UIImage(named: "placeholder.png"))
            let post = postStruct(title: title)

            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 label1 = cell?.viewWithTag(1) as! UILabel
    label1.text = posts[indexPath.row].title
    return cell!




}

}

1 个答案:

答案 0 :(得分:5)

您无法为单元格中的重复元素绘制出口。 因此,有两种选择: - 要么创建一个的单元格,然后你可以在那个类中创建出口。使用Class是最好的选择,因为当出现任何原因没有找到图像的情况时它会很有用。 。

因此,总是喜欢制作单元格的类,然后将值设置为元素。

或者,其他选项是使用标签,这是一个快速修复: - 单击UIImageView,然后从身份检查器转到标签并设置一些唯一的整数值,即350。 然后在cellForRowAt

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell")

    let yourImageView = cell?.viewWithTag(350) as! UIImageView
    //Set image to ur yourImageView
    return cell!
}