首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >"@UIApplicationMain“是什么意思?

"@UIApplicationMain“是什么意思?
EN

Stack Overflow用户
提问于 2014-07-02 01:38:27
回答 2查看 28.8K关注 0票数 85

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

代码语言:javascript
复制
...
import UIKit
import CoreData

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

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-02 01:43:42

Swift中的@UIApplicationMain属性替换了Objective-C项目中简单的main.m文件(其目的是实现main函数,该函数是所有C程序的入口点,并调用UIApplicationMain来启动Cocoa Touch运行循环和应用程序基础设施)。

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

@UIApplicationMain仅适用于iOS。在OS X中,应用程序委派传统上设置在Info.plist指定的主nib文件中( Swift和ObjC相同)-但在OS X情节串连板中没有主nib文件,所以@NSApplicationMain在那里做同样的事情。

票数 144
EN

Stack Overflow用户

发布于 2014-07-06 22:16:08

@UIApplicationMain属性是main.m文件的替代&也是应用程序启动的入口点。

你的程序在没有这个@UIApplicationMain的情况下可以工作的另一件事你需要做的就是注释//@UIApplicationMain`在objective c中创建与main.m相同的main.swift并编写下面的代码。这将是应用程序的入口点

代码语言:javascript
复制
import Foundation
class FLApplication: UIApplication
{
    override func sendEvent(event: UIEvent!)
    {
        println("Entry Point") // this is an example
    }
}
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24516250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档