2017-10-29 54 views
0

我正在关注一本书中的教程,并希望继续阅读本书中的代码,以便根据说明查看我自己想出的内容。我的代码与loadView()函数之外全局创建MKMapView对象有点不同,但本书在loadView()函数内部创建了MKMapView对象。这两个过程都起作用,所以我想知道iOS开发社区是否有很多不同或偏好?在类的范围中显式创建一个视图对象与loadView函数有什么不同?

预先感谢您。

我的代码:

import Foundation 
import UIKit 
import MapKit 

class MapViewController: UIViewController { 

    var mapView: MKMapView = MKMapView() 

    override func loadView() { 
     view = mapView 
    } 

} 

本书的代码:

import Foundation 
import UIKit 
import MapKit 

class MapViewController: UIViewController { 

    var mapView: MKMapView! 

    override func loadView() { 
     mapView = MKMapView() 
     view = mapView 
    } 

} 

回答

1

的区别是在第一种情况下创建地图视图权当视图控制器初始化。

在第二种情况下,当第一次访问viewController.view时,视图被延迟创建。

我推荐第二种方法,因为这符合苹果的建议。

相关问题