我對在嘗試初始化一個類中的一個數組的實例時產生的錯誤感到困惑。下面的評論是xcode 6顯示的錯誤。Swift:如何在一個類中初始化一個類的實例
我創建了一個類。它有NSMutableArray的實例。我想初始化數組(因此調用self.instancename.init())。它抱怨,如果我不這樣做。它如果我這樣抱怨。
進口基金會
class testclass:NSObject {
var list_of_things:NSMutableArray;
init(){ // Designated initializer for 'testclass' cannot delegate (swith self.init);
// did you means this to be a convenience initializer?
self.list_of_things.init();
// 'init' can only refer to the initializers of 'self' or 'super'
super.init()
// Initializer cannot both delegate ('self.init') and chain to a superclass
// initializer ('super.init')
}
}
謝謝。這回答了我的問題和我腦海中的其他一些問題。我同意分號只是從C和systemVerilog中挑選出來的一種習慣。我應該把我的大腦切換到不使用分號的Python模式。 –
除了這一個:「變量名稱應該使用駱駝大小寫,而不是下劃線」 - 我已經在C中使用下劃線,然後在C++中使用,然後在Obj-C中使用(除非由於objc運行時而導致initWithXXX)。我將繼續在SWIFT中使用它。 –
@superarts.org,如果你願意,你當然有權使用下劃線,但是你將很難與大多數其他開發者合作,因爲絕大多數人會使用駱駝案例。不遵循以下約定是與他人溝通的障礙。 – drewag