根据iOS 开发者库
应用程序委托是您编写自定义应用程序级代码的地方。与所有类一样,AppDelegate 类在应用程序的两个源代码文件中定义:接口文件 AppDelegate.h 和实现文件 AppDelegate.m 中。
然而,在 Xcode 6.3 中,似乎只有 AppDelegate.swift 并且不再有 .h 和 .m 扩展名。我想了解 .swift 如何替换 .h 和 .m 扩展名。
简单的答案是 AppDelegate.swift 只是 Objective-C 的翻译AppDelegate.h
and AppDelegate.m
,因为 Swift 不需要单独的标头和实现,而是需要单个 .swift 文件。
然而,在幕后,两者之间还存在其他关键差异。
在 Objective-C 中,存在一个main.m
唯一目的是实例化的文件UIApplicationMain
在斯威夫特中,@UIApplicationMain
AppDelegate.swift 顶部的注释标记取代了 Objective-C 中 main.m 文件中存在的任何 main 函数。如果省略此标签,您可以使用 main.swift 文件来实例化您的UIApplication
使用指定的应用程序委托。
main.swift 的实现如下所示:
import UIKit
autoreleasepool {
UIApplicationMain(Process.argc, Process.unsafeArgv, nil, NSStringFromClass(AppDelegate.self))
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)