最終更新日: 2015/07/15 (Xcode 6.4, Swift 1.2)
Playgroundでprintln() / NSLog()の結果を出力
メニューの[View] - [Assistant Editor] - [Show Assistant Editor]を選択して、Project Navigatorを表示します。
Assistant Editorにprintln()やNSLog()の出力が表示されます。
PlaygroundでXCPlaygroundモジュールを使用する
XCPlaygroundモジュールを使用することで、Playgroundでいろいろな機能を使うことが出来るようになります。
import UIKit import XCPlayground for no in 0..<20 { let p0 = no * no XCPCaptureValue("p0", p0) }
Playgroundで値を指定してキャプチャする
XCPlaygroundモジュールのXCPCaptureValue()を使用することで、値を指定してキャプチャすることが出来ます。
import UIKit import XCPlayground for no in 0..<20 { let p0 = no * no XCPCaptureValue("p0", p0) } for no in 20..<40 { let tmp = 40 - no let p0 = tmp * tmp XCPCaptureValue("p0", p0) }
Playgroundで非同期処理を実行できるようにする
XCPlaygroundモジュールのXCPSetExecutionShouldContinueIndefinitely()を使用することで、非同期の処理を実行できるように設定できます。
import UIKit import XCPlayground /// 非同期の処理を実験するためのクラス class TestTimer: NSObject { var count = 0 func startTimer() { println("start") NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "execTimer:", userInfo: nil, repeats: true) } func execTimer(timer: NSTimer) { count++ println("count: \(count)") } } // 非同期の処理を実行できるようにする XCPSetExecutionShouldContinueIndefinitely(continueIndefinitely: true) // 非同期の処理を実験 let test = TestTimer() test.startTimer()
PlaygroundでViewの内容をリアルタイムで表示する
XCPlaygroundモジュールのXCPShowView()を使用することで、Viewの内容をリアルタイムで表示することが出来るようになります。
import UIKit import XCPlayground /// Viewのリアルタイム表示をテストするためのクラス class TestView: NSObject { var count = 0 var view: UIView! func startTimer() { let re = CGRect(x: 0, y: 0, width: 200, height: 200) view = UIView(frame: re) XCPShowView("Test View", view) NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "execTimer:", userInfo: nil, repeats: true) } func execTimer(timer: NSTimer) { count++ let hue = CGFloat(count % 100) / 100.0 view.backgroundColor = UIColor(hue: hue, saturation: 1, brightness: 1, alpha: 1) } } // Viewの表示を実験 let test = TestView() test.startTimer()
※XCPShowView()を呼び出すと、自動的に非同期の処理を実行できるようになります
『Error sending deferral props』への対応
Xcode 6.4でiOS向けのPlaygroundを作成してXCPShowView()を実行した場合、『Error sending deferral props』のエラーが発生します。
以下の手順にそって設定を変更することで、このエラーを解消することが出来ます。
1. File Inspectorを表示
メニューの[View] - [Utilities] - [Show File Inspector]を選択。
2. Run in Full Simulatorをチェック
Playgrounds Settingsの中の『Run in Full Simulator』をチェックする。
これでエラーは発生しなくなりますが、代わりに、Playground実行時にiOS Simulatorが自動で起動するようになります。