Cocoa touch swift代码执行的切入点是什么?
swift中没有Cocoa touch swift代码执行的切入点是什么?,cocoa-touch,swift,ios8,Cocoa Touch,Swift,Ios8,swift中没有main()方法。程序必须从某处开始执行。那么,swift代码执行的入口点是什么?它是如何决定的?普通swift模块中的入口点是名为main.swift的模块中的文件main.swift是唯一允许在顶层包含表达式和语句的文件(模块中的所有其他swift文件只能包含声明) Cocoa Touch在实现上使用而不是main.swift文件来标记入口点。Cocoa过去使用最小的main.swift文件,该文件仅称为NSApplicationMain,但在的实现中使用。普通swift模块
main()
方法。程序必须从某处开始执行。那么,swift代码执行的入口点是什么?它是如何决定的?普通swift模块中的入口点是名为main.swift的模块中的文件main.swift
是唯一允许在顶层包含表达式和语句的文件(模块中的所有其他swift文件只能包含声明)
Cocoa Touch在实现上使用而不是main.swift
文件来标记入口点。Cocoa过去使用最小的main.swift
文件,该文件仅称为NSApplicationMain
,但在的实现中使用。普通swift模块中的入口点是名为main.swift
的模块中的文件main.swift
是唯一允许在顶层包含表达式和语句的文件(模块中的所有其他swift文件只能包含声明)
Cocoa Touch在实现上使用而不是main.swift
文件来标记入口点。Cocoa过去使用一个最小的main.swift
文件,该文件仅称为NSApplicationMain
,但在AppDelegate.swift
文件中的@UIApplicationMain
的实现中使用。
AppDelegate是初始条目文件
基本上:main.m
和AppDelegate.m
在Swift
中被合并为AppDelegate.Swift,在AppDelegate.Swift
文件中可以看到@UIApplicationMain
。
AppDelegate是初始条目文件
基本上:main.m
和AppDelegate.m
在Swift
中有点合并成了AppDelegate.Swift
您可能需要阅读
例外是一个名为“main.swift”的特殊文件,它的行为非常简单
类似于游乐场文件,但使用应用程序的源代码构建。这个
“main.swift”文件可以包含顶级代码,并且与订单相关
规则也适用。实际上,要运行的第一行代码
“main.swift”隐式定义为
节目。这使得最小Swift程序可以是一行-
只要那一行是“main.swift”
在Xcode中,Mac模板默认包含一个“main.swift”文件,但是
对于iOS应用程序,新iOS项目模板的默认设置是添加
@UIApplicationMain到常规Swift文件。这会导致编译器崩溃
为您的iOS应用程序合成一个主要入口点,并消除
需要一个“main.swift”文件
或者,您可以链接到以书面形式编写的main的实现中
Objective-C,从增量迁移项目时常见
目标C到Swift
你可能想读书
例外是一个名为“main.swift”的特殊文件,它的行为非常简单
类似于游乐场文件,但使用应用程序的源代码构建。这个
“main.swift”文件可以包含顶级代码,并且与订单相关
规则也适用。实际上,要运行的第一行代码
“main.swift”隐式定义为
节目。这使得最小Swift程序可以是一行-
只要那一行是“main.swift”
在Xcode中,Mac模板默认包含一个“main.swift”文件,但是
对于iOS应用程序,新iOS项目模板的默认设置是添加
@UIApplicationMain到常规Swift文件。这会导致编译器崩溃
为您的iOS应用程序合成一个主要入口点,并消除
需要一个“main.swift”文件
或者,您可以链接到以书面形式编写的main的实现中
Objective-C,从增量迁移项目时常见
目标C到Swift
在Swift应用程序中,有以下属性:
@UIApplicationMain
(可可触摸)
@NSApplicationMain
(Cocoa)
告诉swift编译器应用程序的入口点在哪里
swift编译器在幕后的作用是创建一个main
函数,该函数基本上与Objective-C应用程序中的函数相同,并将此方法视为应用程序的入口点(应用程序进程启动时调用的第一个方法)
如果您想了解更多有关swift编译器如何处理Main
属性,操作系统如何知道应用程序的入口点,我建议您阅读本文:在swift应用程序中,有以下属性:
@UIApplicationMain
(可可触摸)
@NSApplicationMain
(Cocoa)
告诉swift编译器应用程序的入口点在哪里
swift编译器在幕后的作用是创建一个main
函数,该函数基本上与Objective-C应用程序中的函数相同,并将此方法视为应用程序的入口点(应用程序进程启动时调用的第一个方法)
如果您想了解更多有关swift编译器如何处理Main
属性的信息,操作系统如何知道应用程序的入口点在哪里,我鼓励您阅读本文:在Swift 5.3中,有一个新的@main
属性,它允许您控制项目的入口点,而不仅仅是main.Swift
。只能有一个主条目,不能有main.swift
文件和属性@main
。有关更多详细信息,请参阅
@main
struct App {
static func main() {
print("Starting.")
}
}
在Swift 5.3中,有一个新的@main
属性,允许您控制入口点在项目中的位置,而不仅仅是main.Swift
。只能有一个主条目,不能有main.swift
文件和属性@main
。看见