我做了UILabel
的一個子類,名爲UIScoreLabel
,它更專門爲我需要顯示分數。下面是代碼:爲什麼我的子類不存在變量?
class UIScoreLabel: UILabel
{
var scoreBackingInt: Int!
var score: Int {
get
{
return scoreBackingInt
}
set(newScore)
{
scoreBackingInt = newScore
self.text = NSString(format: "%0\(digits)d", newScore)
}
}
let digits: Int! // number of digits to display (for 0-padding)
init(digits: Int)
{
super.init()
self.digits = digits
self.score = 0
}
}
score
被認爲是一個計算變量。總之,一切都很好,當我實例化一個UIScoreLabel,但是當我試圖訪問以任何方式(即score
)任何子類的屬性,編譯器告訴我'UILabel' does not have a member named 'score'
這裏是給了我一個錯誤的行,在我的ViewController中:
creditsLabel.score = self.score
是什麼給出的?
你有沒有設置類爲您creditsLabel到'UIScoreLabel'在InterfaceBuilder中的身份檢查? – zisoft 2014-11-21 07:30:27
我們需要看到你的UIScoreLabel的實例,因爲這實際上是造成這個問題的原因。 – 2014-11-21 09:17:51
@zisoft 'creditsLabel = UIScoreLabel(digits:6)' 我沒有使用IB,我正在以編程方式執行此操作。 – 2014-11-23 21:47:17