根据iOS开发者库
应用程序委托是您编写自定义应用程序级代码的地方。与所有类一样,AppDelegate类在应用程序中的两个源代码文件中定义:在接口文件AppDelegate.h中,在实现文件AppDelegate.m中。
但是,在Xcode 6.3中,似乎只有AppDelegate.swift,而不再有.h和.m扩展。我想了解.swift是如何取代.h和.m扩展的。
发布于 2015-05-22 04:27:04
简单的答案是,AppDelegate.swift只是来自Objective AppDelegate.h和AppDelegate.m的转换,因为Swift不需要单独的头和实现,而只需要一个.swift文件。
然而,在引擎盖下,两者之间还有其他关键的区别。
在Objective中,存在一个main.m文件,其唯一目的是实例化UIApplicationMain
在Swift中,位于@UIApplicationMain顶部的AppDelegate.swift注释标记取代了Objective中main.m文件中存在的任何主函数的需求。如果省略此标记,可以使用main.swift文件使用指定的App实例化您的UIApplication。
main.swift实现如下所示:
import UIKit
autoreleasepool {
UIApplicationMain(Process.argc, Process.unsafeArgv, nil, NSStringFromClass(AppDelegate.self))
}发布于 2015-05-22 04:17:59
Swift旨在消除在其他语言中遇到的大量代码重复。头文件可能是查看代码接口的一种简单方法,但它们在很大程度上重复了实现,而且还会导致两者之间不匹配的麻烦。在Swift中,接口和实现是相同的,在同一个文件中。
发布于 2015-05-22 04:14:07
对象-C过去有文件.h和.m,现在在.swift中不再是这样了,header不需要头文件(.h),所有的代码都在.swift文件中。
您发布的链接中的教程与Object项目有关,而不是快速项目。
也许本文件对你来说是一个更好的起点,如果你想快速地遵循这些步骤的话
https://stackoverflow.com/questions/30388064
复制相似问题