2016-03-07 39 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加載視圖並且連接插座後調用的。