Tips1- Swift中如何优雅的设置属性

@IBOutlet 的 didSet方法

在iOS开发过程中,即使你在IB或者SB中已经对View的属性进行了设置,但通常不可避免地会用代码进行重新设置。在传统的Objective-C写法中,通常会将这段重置属性代码写在viewDidLoad方法内,Swift虽然也可以写在该方法内,但我认为一个更合适的地方是在该@IBOutlet的didSet方法中进行。

@IBOutlet修饰的也是一个属性,这个关键字的作用仅仅只是将属性暴露给IB,不会影响属性观察方法(willSet, didSet等)的调用。

For Example:

1
2
3
4
5
6
@IBOutlet var nameLabel: UILabel! {
didSet {
nameLabel.textColor = .white
nameLabel.backgroundColor = .black
}
}

这样写可以让view的相关设置代码相对集中在一起,方便查看和修改,同时也让viewDidLoad方法内部更加干净。