2017-07-25 76 views
0

我們如何利用extension設置默認值?例如,如果我在storyboard創建UILabel,我設置文本值在storyboard「TOTO」。現在我想創建一個擴展,以便在應用程序中初始化標籤時將我的文本值設置爲「popo」。 爲了更清楚地說明,我想要在整個應用程序中爲我的UILabel設置一個默認值。希望這是明確的。在init中設置屬性,在swift中有擴展名?

extension UILabel { 
    open override func ??? { 
     self.text == "popo" 
    } 
} 

請不要告訴我在故事板中設置ma值因爲這不是我所需要的。

回答

2

可以爲text屬性「默認」值被設置在一個Storyboard創建的標籤?是。

這是一個好主意嗎?也許不是...

說了這麼多,你可以做的是覆蓋awakeFromNib(視圖從情節提要/護理文件加載後調用):

extension UILabel { 

    open override func awakeFromNib() { 
     super.awakeFromNib() 
     self.text = "popo" 
    } 

} 
+0

感謝的很多,爲什麼你認爲這是一個壞主意? – Makaille

+0

因爲如果你決定在你想要_do_一些標籤保留在故事板設置文本後面的階段,你就必須要麼子類,或者手動重新設置你的控制器上的文字。但那只是我的個人意見。它可以使完美的意義在你的項目中,我猜... – Alladinian

+0

我明白了,我從來沒有使用設定值故事板的標籤,總是從我的本地化字符串,以獲得正確的語言或在我的ViewModel一些數據 – Makaille

0

不要創建extension

您應該創建的UILabel子類,它分配給您所需要的地方在故事板

import UIKit 

class MyLabel: UILabel { 


override func awakeFromNib() { 
    super.awakeFromNib() 

    self.text = "POPO" 
} 
} 

你可以使用這個類我ñ故事情節這樣

enter image description here