【发布时间】:2014-10-31 20:52:25
【问题描述】:
@IBAction 只是 Swift 中的一种语法差异,还是表示特定的东西。 此外,在编写@UIApplicationMain 的 AppDelegate.swift 中也可以看到类似的用法。
【问题讨论】:
标签: ios iphone swift ios8 ibaction
@IBAction 只是 Swift 中的一种语法差异,还是表示特定的东西。 此外,在编写@UIApplicationMain 的 AppDelegate.swift 中也可以看到类似的用法。
【问题讨论】:
标签: ios iphone swift ios8 ibaction
这些是swift中的attributes。它们对编译器有一些特殊的含义。例如:@UIApplicationMain由编译器合成main.swift文件作为应用程序的入口点。来自swift guide
属性提供有关声明或类型的更多信息。 Swift 中有两种属性,适用于 声明和适用于类型的声明。
NSApplicationMain 将此属性应用于类以指示它是应用程序委托。使用该属性相当于调用 NSApplicationMain 函数并将此类的名称作为 委托类的名称。
如果您不使用此属性,请提供一个带有 main 的 main.swift 文件 调用 NSApplicationMain 函数的函数。例如,如果 您的应用程序使用 NSApplication 的自定义子类作为其原理 类,调用 NSApplicationMain 函数而不是使用这个 属性
Here is whole list of attributes in swift
来自苹果斯威夫特blog
在 Xcode 中,Mac 模板默认包含一个“main.swift”文件,但是 对于 iOS 应用程序,新 iOS 项目模板的默认设置是添加 @UIApplicationMain 到一个常规的 Swift 文件。这会导致编译器 为您的 iOS 应用程序合成一个主要入口点,并消除 需要一个“main.swift”文件。
或者,您可以链接到 main 编写的实现 Objective-C,在增量迁移项目时很常见 从 Objective-C 到 Swift。
在main.swift中编写代码。它将作为应用程序的入口点
//main.swift
import Foundation
import UIKit
UIApplicationMain(C_ARGC, C_ARGV,nil, NSStringFromClass(AppDelegate))
【讨论】: