我等了很长时间,但我的游乐场项目没有显示右侧栏上的结果我正在使用正确的代码但仍然正确的栏没有更新我不知道我尝试了很多时间是什么问题.这是我的代码
var str = "Hello, playground"
var str1 = "this is my first program"
let kermit = "kermit"
let msPiggy = "ms. piggy"
let string1 = msPiggy + " and " + kermit + ", sitting in a tree"
let string2 = "\(msPiggy) and \(kermit), sittting in a tree "
let string3 = " kermit has \(5*2) fingers"
let chr1:Character = ""
Run Code Online (Sandbox Code Playgroud) 我已经看过几个关于这个主题的不同帖子,但似乎都没有解决我认为的基本问题.在我的项目中,我有以下内容:
Hi Class 我有一个Hi类,下面是如下所示的方法
func sayHi(){
println("hi")
}
Run Code Online (Sandbox Code Playgroud)
游乐场 我有一个操场,我尝试导入我的Hi Class.
问题: 我的游乐场无法看到/导入Hi类.我知道我的Hi类正在工作,因为我可以从视图控制器调用它而没有问题.
这里来自堆栈/苹果论坛的响应似乎最相关
现在可以将自己的框架导入到游乐场中.这提供了一种在应用程序和游乐场之间共享代码的方法,这可以导入您的框架.为此,您的游乐场必须与生成框架的项目位于同一工作区中.您必须已经构建了框架.如果它是iOS框架,则必须为64位运行目标(例如iPhone 5s)构建.您必须拥有一个活动方案,该方案至少构建一个目标(该目标的构建位置将用于操场的框架搜索路径).您的"构建位置"首选项(在高级"位置"设置中)不应设置为"旧版".如果您的框架不是Swift框架,则"定义模块"构建设置必须设置为"是".一旦满足所有这些条件,导入框架将在游乐场中运行
来源: 如何将第三方框架导入Xcode Playground?
任何人都可以指点我一步一步如何做到这一点?
如何将一组函数存储在稍后在数组中回调,就像在JavaScript中一样?Any和AnyObject类型不能保存具有不同类型的方法签名的函数.
从参考资料中测试过:https://developer.apple.com/documentation/swift
var string = String(count: 5, repeatedValue: "a")
// string is "aaaaa"
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误:
Playground执行失败:错误:: 5:14:错误:无法找到接受提供的参数的'init'的重载var string = String(count:5,repeatedValue:"a")
这实际上有用吗?
我正在尝试用Swift Playground中的默认正弦波作为声音播放短音符序列.稍后我会想用Soundfont取代声音,但此刻我会对产生一些声音感到满意.
我希望这是一个像midi一样的序列,可以直接控制音符,而不是纯粹的音频.在AudioToolbox似乎提供我所期待的,但我有麻烦完全了解它的用法.这是我目前正在尝试的
import AudioToolbox
// Creating the sequence
var sequence:MusicSequence = nil
var musicSequence = NewMusicSequence(&sequence)
// Creating a track
var track:MusicTrack = nil
var musicTrack = MusicSequenceNewTrack(sequence, &track)
// Adding notes
var time = MusicTimeStamp(1.0)
for index:UInt8 in 60...72 {
var note = MIDINoteMessage(channel: 0,
note: index,
velocity: 64,
releaseVelocity: 0,
duration: 1.0 )
musicTrack = MusicTrackNewMIDINoteEvent(track, time, ¬e)
time += 1
}
// Creating a player
var musicPlayer:MusicPlayer = nil
var player = …Run Code Online (Sandbox Code Playgroud) 我已升级到 MacOS 11 (Big Sur) Beta 4。和 Xcode 12 beta 4。
我有一个 Swift 游乐场和合并发布者:
Just([1,2,3])
.setFailureType(to: Error.self) // Make the compiler pick up new API in MacOS Big Sur
.flatMap { $0.publisher }
.sink(receiveCompletion: { print($0) }, receiveValue: { print($0) })
Run Code Online (Sandbox Code Playgroud)
升级后,我的 Playground 开始失败,并显示以下消息:“'flatMap(maxPublishers:_:)' 仅在 macOS 11.0 或更高版本中可用”。快速编译器不会指示代码中的任何错误。如果将代码放置在普通的 Xcode 命令行应用程序项目中,则代码可以正常工作。
if #available(macOS 11.0, *) { }可以通过将发布者纳入可用性检查(例如在游乐场中)来减轻错误。
我假设这是一个错误,并且我已向 Apple 提交了问题。
或者这是预期的行为?如果是……有没有办法向游乐场暗示要假设的部署目标?如果它没有正确获取正在运行的操作系统的实际版本。
谢谢!
使用iOS游乐场设置如下:
import UIKit
import SpriteKit
import XCPlayground
let s = CGSize(width: 300, height: 300)
let f = CGRect(origin: CGPointZero, size: s)
let view = SKView(frame: f)
let scene = SKScene(size: s)
scene.backgroundColor = SKColor.redColor()
view.presentScene(scene)
XCPShowView("main view", view)
Run Code Online (Sandbox Code Playgroud)
我在控制台中得到这个:
2014-09-04 17:02:13.358 SpriteKitBETA7[2009:20695] Error sending deferral props: 0x10000003
Run Code Online (Sandbox Code Playgroud)
助手编辑器中有一个"主视图"框,但它不显示任何内容.这个完全相同的代码(import Cocoa而不是import UIKit)在OSX操场上完美运行.我知道我可以在OSX游乐场测试一些东西(虽然在iOS上更方便,因为我不想使用Yosemite,但我确实有iOS7 SDK)并且复制粘贴到我的项目中,但是我想知道是否有人理解这里发生了什么.
是否可以让Xcode为Objective-C而不是Swift创建.playground文件?是否有可用的Xcode插件?
是否可以在Xcode Playground中使用Swift Package Manager?
swift-playground ×10
swift ×9
xcode ×4
ios ×3
audio ×1
audiotoolbox ×1
console ×1
ios12 ×1
objective-c ×1
sprite-kit ×1
string ×1
xcode12 ×1