是否可以使用其他值/屬性(例如, UIButton,UILabel,...?使用其他值初始化swift中的屬性
我很想有這樣的事情:
let myLabel = UILabel() {
font = UIFont(...)
textColor = ...
...
}
是否可以使用其他值/屬性(例如, UIButton,UILabel,...?使用其他值初始化swift中的屬性
我很想有這樣的事情:
let myLabel = UILabel() {
font = UIFont(...)
textColor = ...
...
}
這是一個不錯的功能,在C#中可用的(也可能是其他語言),但在迅疾不幸的是不可用的 - 我想不出任何解決方法來模仿該行爲。
不知道這是否會工作,但你可以用didSet方法
let myLabel = UILabel() {
didSet {
myLabel.font = UIFont(...)
myLabel.textColor = UIColor.blackColor()
}
}
您可以與您返回聲明類型的值封閉初始化嘗試,並與()
執行它:
let myLabel: UILabel = {
let theLabel = UILabel()
theLabel.font = UIFont(...)
theLabel.textColor = ...
...
return theLabel
}()
請注意,你必須之前=
通過這是很常見的使用常量的這個聲明定義了您的應用的生命週期內保持不變全球單的方式。例如核心數據幫手。全局常量如上所述,保證被懶惰地實例化。 – 2015-02-07 12:14:31
如何像這樣明確地聲明值類型?
func config<T>(obj: T, configure: T -> Void) -> T {
configure(obj)
return obj
}
let myLabel = config(UILabel(...)) {
$0.font = UIFont(...)
$0.textColor = ...
...
}
似乎並沒有工作,不幸的是 – swalkner 2015-02-07 11:36:28