无法将UITableViewCell设置为单元格

时间:2015-08-03 14:13:14

标签: ios swift uitableview

我已经在ViewController中制作了ViewController,我在TableView中添加了TableView TableViewCell。 在TableViewCell中,我添加了文字标签和图片。 我创建了一个名为customCell的可可触摸文件,并将其与TableView Cell连接。

在我写的ViewController文件中:

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

            let cell:customCell = tableView.dequeueReusableCellWithIdentifier("cell") as! customCell
            cell.imageCountry.image = UIImage(named: "2xd.png")
            cell.nameCountry.text = "hey"
return cell

这是我在customCell文件中写的: 导入UIKit

class customCell: UITableViewCell {

    @IBOutlet var imageCountry: UIImageView!
    @IBOutlet var nameCountry: UILabel!

}

我已连接TableView& ViewController与DataSource&代表。 当我运行我的代码时,这是我得到的错误:

Could not cast value of type 'UITableViewCell' (0x10d1119f0) to 'refreshing.customCell' (0x10b2f6dd0).

* refresh是项目的名称。

并且将bugger的绿线设置为这一行:

let cell:customCell = tableView.dequeueReusableCellWithIdentifier("cell") as! customCell

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

You need to set your custom class as the cell's class here

您需要在此处将自定义类设置为单元格的类^

要创建子类,请在CustomClass.h文件中确保

@interface CustomClass : UITableViewCell

答案 1 :(得分:0)

您正在使用旧的装饰方法,要么您需要创建单元格,要么使用带有indexPath的新方法

let cell:customCell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath:indexPath) as! customCell

如果它仍然失败,您需要注册单元格,方法是在故事板中设置它,或者在代码中注册类或nib文件。

override func viewDidLoad() {
    super.viewDidLoad()
    tableView.registerNib(UINib(nibName: "customCell", bundle: nil), forCellReuseIdentifier: "cell")
}

override func viewDidLoad() {
    super.viewDidLoad()
    self.tableView.registerClass(customCell.self, forCellReuseIdentifier: "cell")
}