Swift iOS : 编译器的智能

1,070 阅读1分钟

广告

Swift iOS 小书 www.ituring.com.cn/book/2413

正文

编辑代码时,不小心弄错了,却意外的发现,这样的代码是可以编译通过和运行的:

 @UIApplicationMain
 class AppDelegate: UIResponder, UIApplicationDelegate {
    var window : UIWindow?
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        window = UIWindow()
        window!.rootViewController = UIViewController()
        window!.rootViewController!.view.backgroundColor = .blue
        window!.makeKeyAndVisible()
        return true
    }
 }
 import UIKit

就是说,可以先使用框架,后import。这个非常智能,感觉编译器做的比较聪明,是更加完整的分析源代码,而不是线性的分析。

这样的灵活性让人喜欢,因为习惯的看到代码开始区一堆import早就烦了。