我刚刚创建了我的第一个Swift项目,在AppDelegate.swift
中,类声明的上方有一条线-为什么它在那里?!
...
import UIKit
import CoreData
@UIApplicationMain // <- WHY IS IT HERE?
class AppDelegate: UIResponder, UIApplicationDelegate {
...
发布于 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
在那里做同样的事情。
发布于 2014-07-06 22:16:08
@UIApplicationMain属性是main.m文件的替代&也是应用程序启动的入口点。
你的程序在没有这个@UIApplicationMain的情况下可以工作的另一件事你需要做的就是注释//@UIApplicationMain`在objective c中创建与main.m相同的main.swift并编写下面的代码。这将是应用程序的入口点
import Foundation
class FLApplication: UIApplication
{
override func sendEvent(event: UIEvent!)
{
println("Entry Point") // this is an example
}
}
https://stackoverflow.com/questions/24516250
复制相似问题