我没有使用 Objective C 的经验,所以我在一些符号上遇到了问题。在我的“AppDelegate.swift”文件中,顶部有一个“@UIMainApplication”。这是什么意思?
此外,如果可能的话,您能否给我 C++ 中的“等效”语句(如果存在)?
谢谢。
最佳答案
好吧,你选择了一个相当复杂的。 @
仅表示这是一个属性 - 一个特殊的标记或给编译器的信号,如Apple explains here .但是 @UIApplicationMain
是一个特别深刻的属性!它替代了 main.m 文件中位于 C/Objective-C 应用程序核心的整个 UIApplicationMain
实现(如 I explain here ):
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil,
NSStringFromClass([AppDelegate class]));
}
}
这是应用程序的主要入口点,实现了正在运行的应用程序的整个启动和运行代码。您可以在 Swift 中做类似的事情——一个 main.swift 文件,其中包含与该代码等效的 Swift——但 Swift 让您指定应用程序委托(delegate)类,从而为您省去麻烦使用 @UIApplicationMain
属性。
如果您以 Objective-C 或 Objective-C++ 项目的形式启动项目,模板将为您提供一个包含 main
实现的 main 文件,因此无需在这方面做任何特别的事情。
关于swift - '@' 符号在 Swift 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30081372/