我已经在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
有什么建议吗?
答案 0 :(得分:0)
答案 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")
}