好的,我的目标是将自定义单元格绘制到UIVableController中以编程方式制作的UITableView中。我有一个名为KillFeedTableViewCell的自定义单元类,它也有一个.xib
我在xib中确定单元格标识符是KillFeedTableViewCell,这也是我在下面的代码中用作标识符的内容
我遇到的问题是它根本无法运行。我运行时没有错误,当我运行时,tableView看起来很完美,没有单元格。我还有一些行来打印文本到控制台,以确保tableView函数正在运行,他们不是..
感谢任何帮助,谢谢!!
在FirstViewController的开头
class FirstViewController: UIViewController, UITableViewDelegate, UITableViewDataSource{
//code
var tableView:UITableView = UITableView()
//code
}
稍后在文件中我像这样设置了tableView
var fullHeight:CGFloat = self.view.bounds.size.height-50
tableView.frame = CGRectMake(0, fullHeight, self.view.bounds.size.width, 0)
// height is zero because you drag the tableView up filling the screen
tableView.alpha = 0.5
self.view.addSubview(tableView)
最后在关闭类的括号之前的FirstViewController的末尾,我有必要的tableView函数加上一些......
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
var tempData = serverAPIHandler.getKillCount(username)
var tempData2 = JSONSwift(tempData)
println("table view kill count") // this is here so i know the code runs but this never shows up in the log
return tempData2["kill_count"].intValue
}
func numberOfSectionsInTableView(tableView: UITableView!) -> Int {
return 1
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell: KillFeedTableViewCell = tableView.dequeueReusableCellWithIdentifier("KillFeedTableViewCell") as KillFeedTableViewCell
println(cell) // this is here so i know the code runs but this never shows up in the log
return cell;
}
func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) {
println("Row \(indexPath.row) selected")
}
答案 0 :(得分:0)
你必须记得注册Nib文件(通常在viewDidLoad中完成)
UINib *cellNib = [UINib nibWithNibName:@"cell" bundle:nil];
[self.tableView registerNib:cellNib forCellReuseIdentifier:@"cell"];