ios - 在viewDidLoad或者var的didSet中配置UIView

标签 ios swift

考虑这个配置MKMapView map 类型的例子。是否应该在 viewDidLoad()

中完成
override func viewDidLoad() {
    super.viewDidLoad()
    mapView.mapType = MKMapType.Hybrid
}

还是在 var 的 didSet 中?

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

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

最佳答案

它们各有不同的用途。

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

如果您只想在加载 View 时设置一次mapType,请使用viewDidLoad

鉴于您正在做的事情,我会说 didSet 是更正确的选择。

顺便说一句——这与“Swift 首选方​​式”无关。无论语言如何,相同的逻辑都适用。

关于ios - 在viewDidLoad或者var的didSet中配置UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33312159/

相关文章:

ios - 无法使用动态内容调整 UIView 的大小

ios - 获取单个数组项

ios - 在 Parse 后端保存 Stripe customerId

swift - 如何以编程方式构建 UIStackView 网格并在按下按钮时更改 UILabel?

swift - 许多不同的 ViewController 中的 Cell

ios - 使用 Facebook 帐户登录和注销

ios - 协议(protocol)扩展似乎没有在消费者中强制执行变量?

ios - CLGeoCoder 不返回当前位置的确切数据

ios - SCNShape 不为 NSBezierPath 绘制形状

ios - Swift DSL - 如何根据已知的常量数据创建平面字典?