很简单的代码:
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行上,我得到了:
fatal error: unexpectedly found nil while unwrapping an Optional value
BookTableViewCell的定义如下:
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已正确连接到情节提要中的原型单元中。为什么会出现此错误?
在代码中创建视图时,其IBOutlet
属性无法正确连接。您需要从dequeueReusableCellWithIdentifier
以下位置获得的版本:
let cell = tableView.dequeueReusableCellWithIdentifier("BookCell") as BookTableViewCell
问题内容: 我正在努力弄清楚此代码段出了什么问题。目前这在Objective- C中有效,但是在Swift中这只是在方法的第一行崩溃。它在控制台日志中显示错误消息:。 问题答案: 另请参阅马特的答案,其中包含解决方案的后半部分 让我们找到一个无需创建自定义子类或笔尖的解决方案 真正的问题在于,Swift区分可以为空()的对象和不能为空的对象。如果您没有为标识符注册笔尖,则可以返回。 这意味着我们必
我刚刚制作了一个注册表单,在添加最终验证(MySQL验证)时遇到了一个问题。 这是我得到的错误:解析错误:语法错误,意外的'elseif'(T_ELSEIF)在C:\xampp\htdocs\Signup\包含\第72行的signup.php 第72行已标记,以帮助您解决此问题。 如果我注释和之间的所有内容,一切正常(除了我没有用户名验证的事实)。 如果你想知道$用户名是什么: 我在SO上读到了一
问题内容: 我是java的新手,我的问题是,按下键后输出显示2个数字,但我不明白为什么。 这是代码: 问题答案: 尽管我不能重现该问题:(请参阅此处),但我的建议是也打印出字符(作为整数)。这将帮助您调试:
Simple-UITableView-Swift 是 Swift 编写的 Boilerplate UITablieView: 给定 tableData 数据数组 支持 XCode 6.1 和 Swift 1.1
用 Swift 语言写的一个UITableView常用操作,比如添加、删除、移动等。
问题内容: 我相信我遇到了一个问题,即我的关闭发生在后台线程上,而UITableView的更新速度不够快。我正在打电话给REST服务,而在关闭时,我有一个电话,但是要花几秒钟的时间才能发生。如何使数据重新加载更快(也许在主线程上?) REST查询功能-使用SwiftyJSON库进行解码 在调试器中调用一次 问题答案: UIKit不是线程安全的。UI仅应从主线程更新: 更新 。在Swift 3及更高