空白表视图单元格

时间:2015-01-26 01:44:37

标签: ios uitableview swift

我正在尝试在表格视图单元格中发布图片,但它一直空白。我为此创建了3个文件。

首先是带有图片信息的数据文件:

import Foundation

class Data {
    class Entry {
        let filename : String
        let heading : String
        init(fname : String, heading : String) {
            self.heading = heading
            self.filename = fname
        }
    }

    let pic = [
        Entry(fname: "Picture1.jpg", heading: "Heading 1"),

    ]

}

然后我有我的表视图控制器

import UIKit

class TableViewController: UITableViewController {

        let data = Data()
        override func viewDidLoad() {
            super.viewDidLoad()
            self.tableView.separatorStyle = UITableViewCellSeparatorStyle.None
        }

        override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
            return 1
        }

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

        override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
            let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as TableViewCell
            let entry = data.pic[indexPath.row]
            let image = UIImage(named: entry.filename)
            cell.pic.image = image

            return cell
        }

}

第三个是细胞本身

import UIKit

class TableViewCell: UITableViewCell {

@IBOutlet var selfie: UIImageView!


    override func awakeFromNib() {
        super.awakeFromNib()

    }

    override func setSelected(selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)
    }

}

我不清楚为什么电池会空白。我将图像文件存储在支持文件中。

任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:0)

您必须将图像分配给UITableViewCell的imageView

更新了尝试:

  

cell.selfie.image = image

而不是cell.pic.image = image

答案 1 :(得分:0)

更新了我的回答:

确保在调用UITableViewCell方法之前注册了dequeueReusableCellWithIdentifier:forIndexPath:子类。只需将以下行添加到viewDidLoad方法中:

self.tableView.registerClass(TableViewCell.self, forCellReuseIdentifier: "Cell")

答案 2 :(得分:0)

2可能的原因:

首先,您的UITableViewCell包含名为selfie的图片视图,但您正在设置pic

所以,试试cell.selfie.image = UIImage(名称:entry.filename);

第二个是,您确定要获得图像格式UIImage(named: entry.filename);吗?

希望这会有所帮助.. :)