本文介绍了Swift中的简单UITableView - 意外地发现没有的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
非常简单的代码:
func numberOfSectionsInTableView(tableView: UITableView?) -> Int {
return 1
}
func tableView(tableView:UITableView!, numberOfRowsInSection section:Int) -> Int {
return 5
}
func tableView(tableView:UITableView!, cellForRowAtIndexPath indexPath:NSIndexPath!) -> UITableViewCell! {
let cell: BookTableViewCell = BookTableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "BookCell")
println("ip: \(indexPath.row)")
cell.bookLabel.text = "test"
return cell
}
开cell.bookLabel.text行我得到这个:
On the cell.bookLabel.text line I get this:
fatal error: unexpectedly found nil while unwrapping an Optional value
BookTableViewCell定义如下:
The BookTableViewCell is defined like this:
class BookTableViewCell: UITableViewCell {
@IBOutlet var bookLabel: UILabel
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
bookLabel正确地连接在Storyboard的Prototype单元格中。为什么我收到此错误?
And bookLabel is correctly hooked up in a Prototype cell in the Storyboard. Why am I getting this error?
推荐答案
在代码中创建视图时,其 IBOutlet
属性不要不能正确地连接起来。你想要从 dequeueReusableCellWithIdentifier
获得的版本:
When you create a view in code, its IBOutlet
properties don't get hooked up properly. You want the version that you get back from dequeueReusableCellWithIdentifier
:
let cell = tableView.dequeueReusableCellWithIdentifier("BookCell") as BookTableViewCell
这篇关于Swift中的简单UITableView - 意外地发现没有的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!