在viewDidLoad或var的didSet中配置UIView

Ste*_*Kuo 5 ios swift

考虑这个配置MKMapView地图类型的示例.是否应该完成viewDidLoad()

override func viewDidLoad() {
    super.viewDidLoad()
    mapView.mapType = MKMapType.Hybrid
}
Run Code Online (Sandbox Code Playgroud)

还是在var didSet

@IBOutlet weak var mapView: MKMapView! {
    didSet {
        mapView.mapType = MKMapType.Hybrid
    }
}
Run Code Online (Sandbox Code Playgroud)

两者都有效,Swift首选的方式是什么?

rma*_*ddy 7

它们各有不同的用途.

如果您希望mapType每次设置属性时都使用该集,请使用didSet.

如果mapType在加载视图时只需要设置一次,请使用viewDidLoad.

鉴于你在做什么,我会说这didSet是更正确的选择.

顺便说一句 - 这与"Swift首选方式"无关.无论语言如何,都适用相同的逻辑.