我不知道快速计划的起点在哪里

时间:2015-03-05 06:46:38

标签: swift

我是swift的初学者。我知道Swift是按顺序处理的,但程序有一个起点,我认为它不是xcodeproj中的Viewcontroller.swift。 起点在哪里?

1 个答案:

答案 0 :(得分:4)

所有应用程序,无论是Swift还是Objetive C,都以 main 类开头。但是swift自动实现了由@UIApplicationMain属性生成的main。 @UIApplicationMain的简单实现就像:

UIApplicationMain(C_ARGC, C_ARGV, nil, NSStringFromClass(AppDelegate))

表示运行AppDelegate类。

让我们从@UIApplicationMain评论AppDelegate并运行。你会因为两个错误而导致构建失败,例如

Undefined symbols for architecture x86_64: "_main", referenced from: implicit entry/start for main executable ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

看,它确实需要一个main作为入口/起点。

现在创建一个 main.swift 文件并编写以下代码并再次运行。

import UIKit
UIApplicationMain(C_ARGC, C_ARGV, nil, NSStringFromClass(AppDelegate))

它将成功编译并加载与@UIApplicationMain完全相同的视图。