swift - '@' 符号在 Swift 中是什么意思?

标签 swift

我没有使用 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/

相关文章:

objective-c - 在 iOS 8.0 项目中安装 ReactiveCocoa 3.0.0-alpha.1 的问题

ios - 将主队列设置为 NSOperationQueue 的底层队列

swift 字典不工作

swift - 在之前结束函数之后执行函数

swift - 无法对不可变值 : 'subviews' is a get-only property 使用变异成员

ios - SwiftUI - 环境对象不更新 UI

ios - 切换相机权限会导致崩溃

SwiftUI/组合 : subscribe to value change of @Binding

swift - 从全局变量填充文本字段失败

swift - 这个快速声明在做什么?