2016-03-07 13 views
0

我创建了一个定制的UITableViewCell并添加了一些连接到故事板上的UI元素的插座字段。请看下面的例子。但是在“必需的init?(coder aDecoder:NSCoder)”方法中,我总是得到零“指针异常”self.skillBtn.backgroundColor = UIColor.redColor()。这意味着skillBtn尚未初始化。我漫步我应该在UITableViewCell上进行UI初始化的位置?如何初始化定制的UITableViewCell与用户界面相关的属性

@IBOutlet weak var backgroundImg: UIImageView! 

@IBOutlet weak var userNameLabel: UILabel! 

var delegate: UserHomeCategorySelectionDelegate? 

@IBOutlet weak var skillBtn: UserHomeCategoryButton! 

@IBOutlet weak var speakBtn: UserHomeCategoryButton! 

@IBOutlet weak var friendsBtn: UserHomeCategoryButton! 


override init(style: UITableViewCellStyle, reuseIdentifier: String?) { 
    super.init(style: style, reuseIdentifier: reuseIdentifier) 
    self.skillBtn.backgroundColor = UIColor.redColor() 
} 

required init?(coder aDecoder: NSCoder) { 
    super.init(coder: aDecoder) 
    self.skillBtn.backgroundColor = UIColor.redColor() 

} 

回答

1

那是因为意见尚未收到您的情节提要/ XIB连接到您的类的实例,

达到你想要什么,覆盖awakeFromNib方法,并把self.skillBtn.backgroundColor = UIColor.redColor()里面。

awakeFromNib是在从XIB/Storyboard加载视图并且连接插座后调用的。