在Swift類中,我想將屬性用作同一類的方法的默認參數值。使用屬性作爲同一類中方法的默認參數值
這裏是我的代碼:
class animal {
var niceAnimal:Bool
var numberOfLegs:Int
init(numberOfLegs:Int,animalIsNice:Bool) {
self.numberOfLegs = numberOfLegs
self.niceAnimal = animalIsNice
}
func description(animalIsNice:Bool = niceAnimal,numberOfLegs:Int) {
// I'll write my code here
}
}
的問題是,我不能用我的niceAnimal屬性作爲默認函數值,因爲它觸發了我一個編譯時錯誤:
'animal.Type' 沒有一個名爲 'niceAnimal'
我是樂隊成員有什麼問題?或者在Swift中不可能?如果這是不可能的,你知道爲什麼嗎?
非常感謝您的回答。作爲開發者,你對這種行爲有什麼看法? – 2014-11-23 06:37:33
我不確定。我認爲默認的參數值是一個很好的方便,但是它們也可能會導致關於何時評估默認表達式的令人驚訝和複雜的角落案例。我知道它在Python中變得混亂。所以我可以看到保持清晰和有限的美德。我認爲解決方法並不是很糟糕。 – algal 2014-11-23 06:41:09
好吧,我明白,蘋果可能想保持簡單,然後... – 2014-11-23 06:46:40