我是Swift的新手,也是iOS开发的新手。我正在尝试创建自定义UITableViewCell。我在UIViewController内部的UITableView上创建了我的主故事板中的单元格。当我加载一个默认单元格时,我能够用数据填充它。但是,现在我正在使用自定义单元格,我无法在表格中显示任何数据。我已经浏览了互联网上发布的各种教程和问题,但我无法弄清楚它为什么不起作用。任何帮助,将不胜感激。
以下是tableview所在的UIViewController的代码。
import UIKit
class FirstViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var tblView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
//self.tblView.registerClass(UITableViewCell.self, forCellReuseIdentifier : "Cell")
self.tblView.registerClass(CustomTableViewCell.self, forCellReuseIdentifier : "Cell")
tblView!.delegate = self
tblView!.dataSource = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return dataMgr.data.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell : CustomTableViewCell = self.tblView.dequeueReusableCellWithIdentifier("Cell", forIndexPath : indexPath) as! CustomTableViewCell
var values = dataMgr.data[indexPath.row]
cell.newTotalLabel?.text = "\(values.newTotal)"
cell.winLoseValueLabel?.text = "\(values.newTotal - values.currentTotal)"
cell.dateLabel?.text = "5/17/2015"
return cell
}
}
我已经逐步完成了为单元格变量赋值的程序。变量'values'正在填充数据,但是当将赋值行踩到单元格变量时,我发现它们从未被赋值。他们都是零。
答案 0 :(得分:22)
在故事板中创建自定义单元格时,请不要注册该类(或其他任何内容)。只需确保在传递给dequeueReusableCellWithIdentifier:forIndexPath:
的故事板中为单元格指定相同的标识符。