在init中设置属性,并在swift中添加扩展名?

时间:2017-07-25 12:04:02

标签: ios swift uilabel

我们如何使用extension设置默认值?例如,如果我在UILabel中创建storyboard,我会将文本值设置为" toto"在storyboard。现在我想创建一个扩展名来将我的文本值设置为" popo"当标签在应用程序中初始化时。 为了更清楚,我想这样做,将整个应用程序中的默认值设置为我的UILabel。希望这很清楚。

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

请不要告诉我在故事板中设置ma值因为这不是我需要的。

2 个答案:

答案 0 :(得分:3)

可以"默认"为Storyboard中创建的标签提供text属性的值?是。

这是个好主意吗?可能不是......

话虽如此,你可以做的是覆盖awakeFromNib(在从Storyboard / Nib文件加载视图后调用):

extension UILabel {

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

}

答案 1 :(得分:1)

不要创建extension

您应该创建UILabel的子类,将其分配到故事板中所需的位置

import UIKit

class MyLabel: UILabel {


override func awakeFromNib() {
    super.awakeFromNib()

    self.text = "POPO"
}
}

您可以这样在故事板中使用此类

enter image description here