在搜索了许多(很多!)快速游乐场问题甚至制作这些代码后,我仍然在苦苦挣扎.
我已经将一个文本文件放在Resources包内容的文件夹中,它在playground(/var/folders/ ...)生成的运行临时文件中显示为别名(链接).
import UIKit
let bundle = NSBundle.mainBundle()
let myFilePath = bundle.pathForResource("dict1", ofType: "txt")
println(myFilePath) // <-- this is correct, there is a shortcut to the Resource file at this location
var error:NSError?
var content = String(contentsOfFile:myFilePath!, encoding:NSUTF8StringEncoding, error: &error)
println(content!) // <-- this is *NOT* the file contents [EDIT: see later note]
// Demonstrate there's no error
if let theError = error {
print("\(theError.localizedDescription)")
} else {
print("No error")
}
Run Code Online (Sandbox Code Playgroud)
问题是,content …
我希望能够在代码中布局我的视图控制器,但是看到界面构建器中显示的布局.
我知道我可以创建一个UIView子类,使其成为IBDesignable,并将其分配给视图控制器的视图,但这需要我创建此UIView子类的所有其他子视图属性,而不是视图控制器的属性.
真正的愿望是能够在代码中布局我的视图控制器,但在不重建项目的情况下快速查看任何更改.如果这可以通过游乐场来实现,那么描述如何做到这一点的答案也将受到赞赏.
谢谢你的任何建议.
interface-builder uiviewcontroller xcode6 swift-playground ibdesignable
我一直在使用arc4random()和arc4random_uniform(),我总觉得它们不是完全随机的,例如,我是从一个数组中随机选择值,但是当我生成它们时,经常出现的值是相同的连续多次,所以今天我认为我会使用Xcode游乐场来看看这些函数是如何表现的,所以我首先测试arc4random_uniform来生成0到4之间的数字,所以我使用了这个算法:
import Cocoa
var number = 0
for i in 1...20 {
number = Int(arc4random_uniform(5))
}
Run Code Online (Sandbox Code Playgroud)
我跑了几次,这里是大多数时候价值观的变化:

因此,您可以看到值重复增加和减少,并且一旦值处于最大值/最小值,它们通常会在特定时间内保持不变(请参阅第5步中的第一个屏幕截图,值在6期间保持为3)步骤,问题是它一点都不寻常,在我的测试中,函数实际上大部分时间都是这样.
现在,如果我们看一下arc4random(),它基本上是一样的:

所以这是我的问题:
谢谢.
编辑:
最后,我做了两个令人惊讶的实验,第一个带有真正的骰子:

让我感到惊讶的是,我不会说它是随机的,因为我看到了与arc4random()和arc4random_uniform()所描述的非随机相同的模式,所以Jean-BaptisteYunès指出,人类不好看,数字序列是否真的是随机的.
我还想做一个更"科学"的实验,所以我做了这个算法:
import Foundation
var appeared = [0,0,0,0,0,0,0,0,0,0,0]
var numberOfGenerations = 1000
for _ in 1...numberOfGenerations {
let randomNumber = Int(arc4random_uniform(11))
appeared[randomNumber]++
}
for (number,numberOfTimes) in enumerate(appeared) {
println("\(number) appeard \(numberOfTimes) times (\(Double(numberOfGenerations)/Double(numberOfTimes))%)")
}
Run Code Online (Sandbox Code Playgroud)
要查看每个数字出现的次数,并且有效地数字是随机生成的,例如,这里是控制台的一个输出:
0出现99次.
1次出现了97次.
2次出现了78次.
3次出现了80次.
4次出现了87次.
5次出现107次.
6次出现了86次.
7次出现了97次.
8次出现了100次.
9次出现91次. …
刚开始看这个周末的Swift.我正在为我的班级创建一个id来快速比较对象.我想要一个不可变的id,所以应该使用let.
使用var和初始化id为""将修复"在初始化存储属性之前在方法调用中使用self",但当然它是可变的.我见过的所有其他问题都与超级/调用super.init有关,我没有.这非常令人沮丧,我不知道为什么它不直接.
class MagicCard {
let id:String
let name: String
let manaCost: Int
let description: String
let attack: Int
let defence: Int
init (name: String, manaCost: Int, description: String, attack: Int, defence: Int) {
self.name = name
self.manaCost = manaCost
self.description = description
self.attack = attack
self.defence = defence
id = generateRandomID()
}
private func generateRandomID() -> String {
let charSet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
let charSetArray = Array(charSet.characters)
var id:String = ""
for _ in (0..<10) {
id.append(charSetArray[Int(arc4random()) % …Run Code Online (Sandbox Code Playgroud) 我正在一个Swift游乐场上工作,该游乐场在主文件旁边的Sources文件夹中包含多个文件.当我在主文件中键入某些内容(例如"UI")时,我会收到预期的自动填充建议.但是,当我在Sources文件夹中的文件中执行相同操作时,我会收到一个"哑"自动完成菜单,如此问题中所示:Xcode 9自动完成不工作100% - 部分工作
我已经DerivedData按照上面的问题的建议尝试删除,甚至完全重新安装Xcode.然而,问题并没有消失.我创建了一个新的游乐场,以确保它不是特定于此项目,并出现同样的问题.
编辑:我只是尝试在不同的Mac上做同样的事情,并观察到同样的问题.我想这只是Xcode中的一个与此特定安装或项目无关的错误.
基本上我想在NSView的Swift游乐场中测试一个图表绘图.
以下操场导致时间线错误"无法识别的选择器发送到类..."
import SpriteKit
let node = SKShapeNode(circleOfRadius: 10)
Run Code Online (Sandbox Code Playgroud)
当平台是iOS时,似乎工作正常.运行10.9.3
在我的Swift游乐场中,我输入以下代码来测试实时视图功能:
let view = UIView()
PlaygroundPage.current.liveView = view
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,实时视图不会显示在助理编辑器的右侧.最初我以为Xcode没有跑完游乐场.但我等待并等待它仍然没有表现出来.
有帮助吗?
我只是使用swift教程在play ground(xcode-8.2)中测试我的代码.我遇到了以下示例代码:
for name in names[2...] {
print(name)
}
Run Code Online (Sandbox Code Playgroud)
现在我的游戏场显示错误:

现在我觉得我的swift版本可能不支持这段代码!
我查看了这个答案,但它只为Xcode Project提供了解决方案.
我怎么能看到快速版的游戏场?
swift-playground ×10
swift ×9
ios ×4
xcode ×3
autocomplete ×1
darwin ×1
ibdesignable ×1
macos ×1
nsview ×1
random ×1
sprite-kit ×1
swift2 ×1
xcode6 ×1