我在创建多个原型单元时遇到问题...基本上我需要2个静态单元和1个原型单元,它们将根据数据输入添加新行。由于您无法创建静态表和原型表,因此我尝试使用3个原型单元格。使用下面的代码运行时,我的表中没有显示任何内容。它只显示一张空白表。
表视图控制器:
class NewTableViewController: UITableViewController,UITableViewDelegate, UITableViewDataSource {
var testData = [row1, row2, row3]
override func viewDidLoad() {
super.viewDidLoad()
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 3
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if (section == 2){
return testData.count
}
return 1
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell: CustomCell!
if (indexPath.section == 0) {
cell = tableView.dequeueReusableCellWithIdentifier("myCell", forIndexPath: indexPath) as! CustomCell
cell.myLabel.text = "Static Label"
}else if (indexPath.section == 1) {
cell = tableView.dequeueReusableCellWithIdentifier("addCell", forIndexPath: indexPath) as! CustomCell
cell.addLabel.text = "Add New Data"
}else if (indexPath.section == 2) {
cell = tableView.dequeueReusableCellWithIdentifier("protoCell", forIndexPath: indexPath) as! CustomCell
cell.protoLabel.text = "row \(indexPath.row)"
}
return cell;
}
}
CustomCell:
class CustomCell: UITableViewCell {
@IBOutlet weak var myLabel: UILabel!
@IBOutlet weak var addLabel: UILabel!
@IBOutlet weak var protoLabel: UILabel!
}
答案 0 :(得分:1)
确保注册自定义单元格以在viewDidLoad中使用
var nib = UINib(nibName: "CustomTableViewCell", bundle: nil)
tableView.registerNib(nib, forCellReuseIdentifier: "customCell")
您也只有一个自定义单元格,因此您应该只在cellForRowAtIndexPath中使用一个重用标识符。