XCPlayground モジュールリファレンス
XCPlayground モジュールでは、プレイグラウンドから Xcode と対話できます。
このモジュールをプレイグラウンドで使用するには、以下のように XCPlayground モジュールを import します。
XCPlaygroundPage クラス
XCPlaygroundPage オブジェクトは、Xcode と対話できるようにする、プレイグラウンドページの状態を表すメソッドとプロパティを提供します。機能には、値のキャプチャと表示、プレイグラウンドの実行の終了、ライブビューの管理を含みます。
タスク
現在のプレイグラウンドページの取得
currentPage
現在のプレイグラウンドページを取得します。
宣言
議論
playground ページインスタンスを検索するために currentPage を使用してください。
利用可能性
Xcode 7.1 以降で利用可能です。
Playground 実行の管理
needsIndefiniteExecution
不確定の実行が可能かどうかを示すブール値を設定します。
宣言
議論
デフォルトでは、すべての最上位コードが実行され、そして実行が終了します。 非同期コードを使用する場合、不確定の実行を可能にして、プレイグランドの最上位コードの終わりに達した後まで実行を続行できるようにします。これはスレッドとコールバックに順序に実行時間を与えます。
プレイグランドを編集すると、不確定の実行が可能になっても自動的に実行が停止します。
最上位コードの終了後も実行を続行するには、needsIndefiniteExecution を true に設定し、その時点で実行を停止するには false に設定します。
デフォルト値は false です。liveView が nil 以外の値に設定されている場合は true に設定されます。
利用可能性
Xcode 7.1 以降で利用可能です。
finishExecution
現在のプレイグラウンドページの実行を終了します。
宣言
議論
playground で実行されている関数は finishExecution で終了し、値を返しません。
利用可能性
Xcode 7.1 以降で利用可能です。
情報の表示
captureValue:withIdentifier:
タイムラインに、指定された識別子で表示される値をキャプチャーします。
宣言
パラメーター
値 | キャプチャーして表示する値。 |
識別子 | キャプチャされた値の上のタイムラインに表示する識別子。 |
議論
同じ値の履歴の識別子で複数の値をキャプチャーすると、同じタイムライン項目に、graph (グラフ) のような値が表示されます。異なる識別で値をキャプチャーすると、異なるタイムライン項目に値が表示されます。
識別子は、アイテムのタイトルとしてタイムラインに表示されます。
利用可能性
Xcode 7.1 以降で利用可能です。
Live View の管理
liveView
アシスタントのタイムラインにあるアクティブなライブビュー、ライブビューがない場合は nil。
宣言
議論
liveView を XCPlaygroundLiveViewable プロトコルに準拠するオブジェクトに設定して、ライブビューを表示します。
liveView を nil に設定して、開いているライブビューを閉じます。
ライブビューは、現在のプレイグラウンドページのアシスタントエディタに表示されます。いつでも1つのライブビューだけを開くことができます。
ライブビューを表示するには、needsIndefiniteExecution が true に設定されている必要があります。liveView が nil 以外の値に設定されている場合、システムは needsIndefiniteExecution を true に設定します。
利用可能性
Xcode 7.1 以降で利用可能です。
XCPlaygroundLiveViewable プロトコル
XCPlaygroundLiveViewable プロトコル は、プレイグラウンドのライブビューとして表示できる型のプロトコルです。デフォルトでは、UIView と UIViewController は iOS と tvOS でこのプロトコルに準拠し、NSView と NSViewController は OS X でこのプロトコルに準拠しています。
開発者は、UIView、UIViewController、NSView、 または NSViewController から継承しないカスタムオブジェクトにのみ、このプロトコルを実装する必要があります。
タスク
プレイグラウンドデータディレクトリを返す
playgroundLiveViewRepresentation
ライブビューのレンダリングと管理に使用されるビューまたはビューコントローラを返します。
宣言
戻り値
ライブビューをレンダリングおよび管理できるビューコントローラまたはビュー。View Controller が好まれます。
議論
このプロトコルを使用すると、任意の型のオブジェクトをライブビューに表示できます。たとえば、単純化されたユーザーインターフェイスプログラミング環境を提供するプレイグラウンドは、そのビューのような型を XCPlaygroundLiveViewable に準拠させ、ライブビューに表示することができます。
playgroundLiveViewRepresentation で返される値は、メソッドが呼び出されるたびに異なる場合があります。
カスタムの playgroundLiveViewRepresentation メソッドの形式は以下のような形式を持ちます。
func playgroundLiveViewRepresentation() -> XCPlaygroundLiveViewRepresentation { let viewController: {NS,UI}ViewController = … // code producing a {NS,UI}ViewController // configure the view controller … return .ViewController(viewController) }
利用可能性
Xcode 7.1 以降で利用可能です。
データ型
XCPlaygroundLiveViewRepresentation
プレイグラウンドでライブビュー表現をサポートしているシステム提供の基底クラス。
iOS と tvOS 用の宣言
public enum XCPlaygroundLiveViewRepresentation { case View(UIView) case ViewController(UIViewController) }
OS X 用の宣言
public enum XCPlaygroundLiveViewRepresentation { case View(NSView) case ViewController(NSViewController) }
利用可能性
Xcode 7.1 以降で利用可能です。
定数
XCPlaygroundSharedDataDirectoryURL
プレイグラウンドとプレイグラウンド実行の間で共有される永続データに使用されるディレクトリ。
宣言
議論
共有データファイルは ~/Documents/Shared Playground Data/ に保存されます。XCPlaygroundSharedDataDirectoryURL は、任意のプレイグラウンドで使用可能なサンドボックス対応のディレクトリ URL を返します。独自のディレクトリ URL を作成することは動作が保証されません。
利用可能性
Xcode 7.1 以降で利用可能です。
旧式となった関数とプロパティ
Xcode 7.1 以降では、以下の関数とプロパティは旧式となりました。
XCPCaptureValue
タイムラインの指定された値履歴に表示される値をキャプチャします。
パラメーター
identifier
値履歴の識別子。
value
キャプチャされるべき値。
同じ値履歴の識別子で複数の値をキャプチャすると、グラフ(graph) のような同じタイムライン項目に値が表示されます。異なる識別子が値を取り込むと、異なるタイムライン項目上に値が表示されます。
識別子は、項目のタイトルとしてタイムラインに表示されます。
XCPExecutionShouldContinueIndefinitely
不確定の実行が可能かどうかを示すブール値を返します。
戻り値
プレイグランドの最上位コードの終わりに達した後に実行が継続する場合は true を返します。それ以外の場合は false。
XCPSetExecutionShouldContinueIndefinitely も参照してください。
XCPSetExecutionShouldContinueIndefinitely
不確定の実行が可能かどうかを示すブール値を設定します。
continueIndefinitely
最上位コードの終了後も実行を続行するには true を渡します。その時点で実行を停止するには false を渡します。
デフォルト値は true です。
デフォルトでは、すべての最上位コードが実行され、そして実行が終了します。非同期コードを使用する場合、不確定の実行を有効にして、プレイグランドの最上位コードの終わりに達した後に実行を続行できるようにします。これは順にスレッドとコールバックに実行時間を与えます。
実行が継続する時間の量は、タイムラインの設定によって制御されます。プレイグランドを編集すると、不確定な実行が有効でも自動的に実行が停止します。
XCPExecutionShouldContinueIndefinitely も参照してください。
XCPShowView
プレイグラウンドの実行中にビューを表示し、実行後に再生するためのフレームを記録します。
func XCPShowView(identifier: String, view: UIView)
identifier
ライブビュー用の識別子。
view
表示されるビュー。
このビューにはスーパービューがあってはなりません。タイムラインに表示されると、これは自動的にウィンドウに追加されます。
この関数は、XCPExecutionShouldContinueIndefinitely 関数の呼び出しのように、不確定な実行が可能になるようにします。
識別子はタイムラインに項目のタイトルと同じキャプションで表示されます。
XCPSharedDataDirectoryPath
すべてのプレイグランド間で共有されるデータを含むディレクトリへのパスを返します。
このディレクトリを使用して、プレイグラウンドの実行間に保持する必要があるデータや、複数のプレイグラウンド間で共有する必要のあるデータを格納します。