Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在viewDidLoad或var'中配置UIView;迪塞特_Ios_Swift - Fatal编程技术网

Ios 在viewDidLoad或var'中配置UIView;迪塞特

Ios 在viewDidLoad或var'中配置UIView;迪塞特,ios,swift,Ios,Swift,考虑以下配置MKMapView映射类型的示例。是否应在viewDidLoad()中执行此操作 或者在风险值的didSet @IBOutlet weak var mapView: MKMapView! { didSet { mapView.mapType = MKMapType.Hybrid } } 两者都有效,Swift的首选方式是什么?它们各自有不同的用途 如果要在每次设置属性时设置mapType,请使用didSet 如果在加载视图时只需要设置一次mapTyp

考虑以下配置
MKMapView
映射类型的示例。是否应在
viewDidLoad()中执行此操作

或者在风险值的
didSet

@IBOutlet weak var mapView: MKMapView! {
    didSet {
        mapView.mapType = MKMapType.Hybrid
    }
}

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

它们各自有不同的用途

如果要在每次设置属性时设置
mapType
,请使用
didSet

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

考虑到您正在做的事情,我想说,
didSet
是更正确的选择


顺便说一句,这与“快速首选方式”无关。同样的逻辑适用于任何语言。

我不确定Objective-C是否有
didSet
conceptSort。您将重写属性的“setter”方法。我还在didSet works中设置映射委托。布置得又好又干净。这篇博文中也讨论了这一点,是否可以更保证地图可以在
viewDidLoad()
中使用?从技术上讲,在分配
mapView
后调用
didSet
。在分配
mapView
viewDidLoad()
之间是否会发生其他初始化?如果在此
didSet
之前调用了
viewDidLoad
,则表示调用
viewDidLoad
时尚未设置属性。这是可能发生的。使用
didSet
而不是
viewDidLoad
的另一个原因。
@IBOutlet weak var mapView: MKMapView! {
    didSet {
        mapView.mapType = MKMapType.Hybrid
    }
}