2015-12-08 59 views
2

我想用Swift創建子類UIView,併爲我的類創建一個帶有一個參數的init類。所需的Init With Coder初始化器正在讓我失望。實際上,我確實希望能夠將我的視圖融入Nib文件中。我的理解是,這將叫Init With Coder。有沒有什麼辦法讓這個初始化器用addl調用。 params,除了解碼器?現在我將默認值分配給我的實例變量,如下所示,以便編譯代碼。用Swift創建子類UIView,用於筆尖

class ClassName: UIView { 

    var dimension: Int = { 
     return 5 
    }() 

} 

我的初始值設置如下所示。

init(Int: dimension) { 
    self.dimension = dimension 
    super.init(frame: CGRectZero) 
} 

required init?(coder aDecoder: NSCoder) { 
    super.init(coder: aDecoder) 
} 

這是真的,如果你通過筆尖文件初始化一個觀點,是沒有辦法在任何新的參數傳遞?

回答

1

從筆尖創建的視圖將始終使用init(coder:)進行初始化。
因此,您需要必須立即用適當的值初始化所有變量或使它們可選。

var dimension = 0