所以我一直在做Apple Swift Book中的实验.
到目前为止,我已经能够完成所有这些了.以下是我的尝试,但我无法弄清楚如何让它工作.
添加一种方法,卡创建一整套卡片,每个组合的等级和套装卡.
// Playground - noun: a place where people can play
enum Rank: Int {
case Ace = 1
case Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten
case Jack, Queen, King
func simpleDescription() -> String {
switch self {
case .Ace:
return "ace"
case .Jack:
return "jack"
case .Queen:
return "queen"
case .King:
return "king"
default:
return String(self.toRaw())
}
}
}
enum Suit {
case Spades, Hearts, Diamonds, Clubs
func simpleDescription() -> …Run Code Online (Sandbox Code Playgroud) 我在代码中编写接口布局.因为每次我逐个像素地测试字体大小或视图布局时重新加载应用程序很烦人,所以我开始在操场上进行.这确实有很大帮助.但我确实想念那里的自定义字体.
有没有办法在游乐场添加自定义字体?
我想使用Git对我的游乐场进行版本控制,但我不确定应该忽略哪些文件以及应该提交哪些文件.
目前我使用以下.gitignore文件进行游乐场:
# Xcode user data
xcuserdata
Run Code Online (Sandbox Code Playgroud)
那应该还有什么?
我是Swift的新手.docuentation说:对于占用多行的字符串使用三个双引号(""").每个引用行开头的缩进被删除,只要它与结束引号的缩进匹配.例如:
let quotation = """
Even though there's whitespace to the left,
the actual lines aren't indented.
Except for this line.
Double quotes (") can appear without being escaped.
I still have \(apples + oranges) pieces of fruit.
"""
Run Code Online (Sandbox Code Playgroud)
但是,我复制了这个示例并粘贴在我的xcode playground中,它显示错误:
Playground execution failed: error: SwiftBasics.playground:9:19: error:
unterminated string literal
let quotation = """
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么 ?
我是iOS开发和使用Xcode的新手,我无法让Alamofire在Playground中工作.有一些功能我想测试概念证明但是图书馆没有链接到Playground,我试着让它玩得很好.在最近更新了Github Alamofire repo中的安装说明之前,我已将Alamofire设置为在iOS(而非Playground)项目中工作.
关于如何让Alamofire在游乐场正确导入的任何建议?
有没有办法提高游乐场的执行速度?我想迭代很多周期而不是等待10分钟.
例如:
import UIKit
var count = 0
for var i = 0; i < 1000000000; i++ {
count++
}
Run Code Online (Sandbox Code Playgroud)
这段代码执行的时间太长了.但我希望得到快速的结果.
我在XCode中创建了一个新项目.
文件>新建>游乐场(选项+ shift + cmd + N)

我重新启动了我的XCode并重启了我的系统,但仍然出现同样的错误.
覆盖属性的didSet观察者会导致递归,为什么?
class TwiceInt {
var value:Int = 0 {
didSet {
value *= 2
}
}
}
class QuadInt : TwiceInt {
override var value:Int {
didSet {
value *= 4
}
}
}
let t = TwiceInt()
t.value = 5 // this works fine
let q = QuadInt()
q.value = 5 // this ends up in recursion
Run Code Online (Sandbox Code Playgroud)
如果我更新QuadInt与
class QuadInt : TwiceInt {
override var value:Int {
didSet {
super.value *= 4
}
}
}
q.value = …Run Code Online (Sandbox Code Playgroud) 假设您已将Xcode 6项目中的Main.storyboard复制到独立的playground的Resources目录中.如何UIStoryboard使用Main.storyboard文件实例化?尝试使用默认的via nil不起作用:
let storyboard = UIStoryboard(name: "Main", bundle: nil)
Run Code Online (Sandbox Code Playgroud)
也没有明确使用主捆绑:
let storyboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle())
Run Code Online (Sandbox Code Playgroud)
即使操场是故事板的Xcode项目的一部分,我也会收到同样的错误:"无法在捆绑NSBundle中找到名为'main'的故事板......"
似乎捆绑路径是正确的,并且应该能够反序列化故事板文件.
XCode 7 Playground支持游乐场资源.如果我的资源中有GameScene.png,那么当我在我的资源或NSImage(名为:"GameScene.png")中有GameScene.sks时,我可以获得SKScene(fileNamed:"GameScene").
但是如何从Playground资源中读取文本文件?