换句话说,Xcode中的Swift代码可以像在Playground文件中那样运行吗?
答案 0 :(得分:7)
当然可以。
此特殊文件名为 main.swift
,其行为与Playground文件类似。
来自Files and Initialization,Apple Swift博客上的帖子:
...“main.swift”文件可以包含顶级代码,以及 依赖于订单的规则也适用。实际上,第一行代码 在“main.swift”中运行被隐式定义为主入口点 对于该计划。这允许最小的Swift程序是单个的 line - 只要该行在“main.swift”中。
但是,在iOS上,@UIApplicationMain
是应用程序入口点。它会自动为您完成整个启动工作。但是在iOS应用的main.swift
中,您必须手动初始化它。
在Swift 3.1中,您的main.swift
文件应该像这样开始:
// main.swift
import Foundation
import UIKit
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
}
UIApplicationMain(
CommandLine.argc,
UnsafeMutableRawPointer(CommandLine.unsafeArgv)
.bindMemory(
to: UnsafeMutablePointer<Int8>.self,
capacity: Int(CommandLine.argc)),
nil,
NSStringFromClass(AppDelegate.self)
)
// Your code begins here
UIApplicationMain initialization提供了
答案 1 :(得分:2)
是的,您可以这样做,就像您可以在一行代码上编写所有代码一样,如果您真的想使用分号来结束行。虽然,这绝对不推荐,因为它可能会导致很多混乱,你不得不打扰原始有组织的文件。
答案 2 :(得分:1)
是的,但AppDelegate除外。不建议这样做,但在一个文件中,您可以有多个类。