【问题标题】:Where does a Swift iOS application begin its life?Swift iOS 应用程序从哪里开始它的生命?
【发布时间】:2015-06-25 16:33:55
【问题描述】:

如果我在 Xcode 中创建一个 Objective-C iOS 应用程序,则会生成一个名为 main.m 的文件。该文件的内容如下所示:

main.m

#import <UIKit/UIKit.h>
#import "AppDelegate.h"

int main(int argc, char * argv[]) {
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

这就是 Objective-C iOS 应用程序生命的开始。

重要的是,如果我想继承 UIApplication(无论出于何种原因),那么 here 是我告诉我的应用程序使用哪个类作为应用程序类的地方。同样,如果出于某种原因我想为我的应用使用 AppDelegate 以外的类名,我会在此处更改该信息。

但是,如果我在 Xcode 中创建一个 Swift iOS 应用程序,则不会生成这样的文件(我已经能够找到)。我在哪里设置这些东西?

【问题讨论】:

标签: ios swift main lifecycle


【解决方案1】:

在 Swift 中,您可以在应用委托类上使用 @UIApplicationMain 属性,它会自动为您调用 UIApplicationMain() 函数。

@UIApplicationMain
class YourAppDelegate: UIResponder, UIApplicationDelegate { ...

还有另一种选择:

如果您不使用此属性,请提供一个带有 main 函数的 main.swift 文件,该函数调用 UIApplicationMain 函数。例如,如果您的应用使用 UIApplication 的自定义子类作为其主体类,请调用 UIApplicationMain 函数而不是使用此属性。


参考资料:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-28
    • 2010-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-21
    • 1970-01-01
    相关资源
    最近更新 更多