我在UITableViewCell中创建了一个按钮。单元格附有.swift类Symfony2
。以下是代码的一部分:
SampleCell
我希望从另一个类添加此按钮的边框。这就是我的所作所为:
class SampleCell: UITableViewCell {
@IBOutlet weak var button: UIButton!
//...
//other stuff
//...
}
当我运行应用程序时,我收到此错误
致命错误:在解包可选值时意外发现nil
在第class SampleTableViewController: UITableViewController {
let sampleCell : SampleCell = SampleCell()
override func viewDidLoad() {
super.viewDidLoad()
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var identifier : String = "Brightness"
let identifier_1 : String = "Color"
if index path.row == 0 {
identifier = identifier_1
sampleCell.button.layer.borderColor = UIColor.blackColor().CGColor
sampleCell.button.layer.borderWidth = 1.0
}
//other stuff..
let cell = tableView.dequeueReusableCellWithIdentifier(identifier, forIndexPath: indexPath)
return cell
}
}
行
我该如何解决这个问题?感谢。
答案 0 :(得分:3)
您没有加载任何单元格,只是初始化类。这意味着您没有加载单元格的视图,因此按钮为零。该按钮不是可选的,展开它会使您的应用程序崩溃。
使用UITableViewDatasource cellForRowAtIndexPath:
将您的单元格出列,如下所示:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let sampleCell = tableView.dequeueReusableCellWithIdentifier("your Cell ID", forIndexPath: indexPath) as SampleCell
//Your config
sampleCell.button.layer.borderColor = UIColor.blackColor().CGColor
sampleCell.button.layer.borderWidth = 1.0
return sampleCell
}