"@UpppplicationMain"是什么意思?

 tengfei2008 发布于 2023-01-06 18:51

我刚创建了我的第一个Swift项目,在AppDelegate.swift一个类声明上面有一行 - 为什么它在那里?!

...
import UIKit
import CoreData

@UIApplicationMain // <- WHY IS IT HERE?
class AppDelegate: UIResponder, UIApplicationDelegate {
... 

rickster.. 120

@UIApplicationMainSwift中的属性取代了main.mObjective-C项目中的普通文件(其目的是实现main作为所有C程序入口点的函数,并调用UIApplicationMain启动Cocoa Touch运行循环和应用程序基础结构).

在Objective-C中,该UIApplicationMain函数提供的每个应用程序配置的主要(heh)位指定一个应用程序的自定义类作为共享UIApplication对象的委托.在Swift中,您可以通过将该@UIApplicationMain属性添加到该类的声明来轻松指定此类.(UIApplicationMain如果你有理由,你也可以直接调用该函数.在Swift中,你将该调用放在main.swift文件中的顶级代码中.)

@UIApplicationMain仅适用于iOS.在OS X中,app委托传统上设置在Info.plist指定的主nib文件中(对于Swift和ObjC相同) - 但是对于OS X故事板,没有主nib文件,那么@NSApplicationMain同样的事情也是如此.

3 个回答
  • @UIApplicationMain属性是main.m文件的替换,并且是应用程序启动的入口点.

    如果没有这个@UIApplicationMain你的程序可以工作的另一件事就是你要做的就是注释// @ UIApplicationMain`创建main.swift,与目标c中的main.m相同,并写下代码.这将是您的申请的入口点

    import Foundation
    class FLApplication: UIApplication
    {
        override func sendEvent(event: UIEvent!)
        {
            println("Entry Point") // this is an example
        }
    }
    

    2023-01-06 18:52 回答
  • @UIApplicationMainSwift中的属性取代了main.mObjective-C项目中的普通文件(其目的是实现main作为所有C程序入口点的函数,并调用UIApplicationMain启动Cocoa Touch运行循环和应用程序基础结构).

    在Objective-C中,该UIApplicationMain函数提供的每个应用程序配置的主要(heh)位指定一个应用程序的自定义类作为共享UIApplication对象的委托.在Swift中,您可以通过将该@UIApplicationMain属性添加到该类的声明来轻松指定此类.(UIApplicationMain如果你有理由,你也可以直接调用该函数.在Swift中,你将该调用放在main.swift文件中的顶级代码中.)

    @UIApplicationMain仅适用于iOS.在OS X中,app委托传统上设置在Info.plist指定的主nib文件中(对于Swift和ObjC相同) - 但是对于OS X故事板,没有主nib文件,那么@NSApplicationMain同样的事情也是如此.

    2023-01-06 18:53 回答
  • 所述AppDelegate.swift源文件具有两个主要功能:

    它创建了应用程序的入口点和运行循环,为您的应用程序提供输入事件.这项工作由UIApplicationMain 属性(@UIApplicationMain)完成,该属性出现在文件的顶部.UIApplicationMain创建一个应用程序对象,负责管理应用程序的生命周期和应用程序委托对象.

    它定义了AppDelegate类,即app委托对象的蓝图.应用程序委托创建了一个窗口,用于绘制应用程序的内容,并提供响应应用程序内状态转换的位置.您可以在AppDelegate类中编写自定义应用级代码.

    2023-01-06 18:54 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有