【发布时间】:2017-09-07 06:01:15
【问题描述】:
换句话说,Xcode 中的 Swift 代码可以像在 Playground 文件中那样表现吗?
【问题讨论】:
-
前几天有人问过,现在找不到了。你试过了吗?为什么要这样做?您的问题/问题是什么?
标签: ios swift xcode swift-playground
换句话说,Xcode 中的 Swift 代码可以像在 Playground 文件中那样表现吗?
【问题讨论】:
标签: ios swift xcode swift-playground
当然可以。
这个特殊文件被称为 main.swift,它的行为就像一个 Playground 文件。
来自Files and Initialization,Apple Swift 博客上的帖子:
... “main.swift” 文件可以包含顶级代码,而 订单相关规则也适用。实际上,第一行代码 在“main.swift”中运行被隐式定义为主入口点 为程序。这允许最小的 Swift 程序是一个单一的 行——只要该行在“main.swift”中。
但是,在 iOS 上,@UIApplicationMain 是应用程序入口点。它会自动为您完成整个启动工作。但是在main.swift的iOS应用中,你必须手动初始化它。
在 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
【讨论】:
是的,但 AppDelegate 除外。不建议这样做,但在一个文件中可以有多个类。
【讨论】:
是的,你可以这样做,就像你可以在一行代码中编写所有代码一样,如果你真的想用分号来结束你的行。虽然,这绝对不推荐,因为它会引起很多混乱,你不得不费心弄乱原始的组织文件。
【讨论】:
是的,因为所有文件都可以作为顶级代码在另一个文件中看到。但出于同样的原因,让您的工作空间变得混乱毫无意义。
【讨论】: