Guides and Sample Code

Developer

Playground Book Format Reference

On This Page

PlaygroundRemoteLiveViewProxy Class
PlaygroundRemoteLiveViewProxyクラス

An object that enables message passing between a live view and the main playground page.
あるオブジェクト、それはライブビューとメインプレイグラウンドページの間で渡されるメッセージを可能にします。

Conforms To
次に準拠

Overview
概要

The main playground page uses a PlaygroundRemoteLiveViewProxy downcast of the current always-on live view for exchanging messages. The downcasted object gives access to the remote always-on live view by a forced downcast of the current live view. The downcast succeeds if a live view that supports the PlaygroundLiveViewMessageHandler Protocol is executing.
メインプレイグラウンドページは、現在の常時接続ライブビューのPlaygroundRemoteLiveViewProxyダウンキャウトをメッセージのやり取りのために使います。ダウンキャストされたオブジェクトは、リモートの常時接続ライブビューへのアクセスを、現在のライブビューの強制ダウンキャストによって提供します。PlaygroundLiveViewMessageHandler Protocolをサポートするライブビューが実行されているならばダウンキャウトは成功です。

The following example code shows the playground page using a proxy for the live view to set up a message listener. Lines 3-8 declare MyClassThatListens, a class that receives messages by conforming to the PlaygroundRemoteLiveViewProxyDelegate Protocol. Line 10 sets proxy to a downcast of the current always-on live view. Line 11 sets myListener to an instance of MyClassThatListens, and line 12 sets the delegate for the proxy to myListener. Messages from the always-on live view will now be sent to myListener.
以下の例コードは、ライブビューのためのプロキシを使ってプレイグラウンドページを示して、メッセージリスナーを準備します。行3-8はMyClassThatListensPlaygroundRemoteLiveViewProxyDelegateプロトコルに準拠することによってメッセージを受け取るクラスを宣言します。行10は、proxyを現在の常時接続ライブビューのダウンキャストに設定します。行11は、myListenerMyClassThatListensのインスタンスに設定します、そして行12はプロキシのための委任先をmyListenerに設定します。常時接続ライブビューからのメッセージは、現在myListenerに送られます。

  1. import PlaygroundSupport
  2. class MyClassThatListens: PlaygroundRemoteLiveViewProxyDelegate {
  3.    func remoteLiveViewProxy(_ remoteLiveViewProxy:
  4.                                  PlaygroundRemoteLiveViewProxy,
  5.                               received message: PlaygroundValue) {
  6.          //…
  7.    }
  8. }
  9. let proxy = PlaygroundPage.current.liveView as! PlaygroundRemoteLiveViewProxy
  10. let myListener = MyClassThatListens()
  11. proxy.delegate = myListener

Instance Properties
インスタンスプロパティ

delegate

A delegate that can receive messages from the live view by conforming to the PlaygroundRemoteLiveViewProxyDelegate Protocol.
委任先、それはメッセージをライブビューからPlaygroundRemoteLiveViewProxyDelegateプロトコルに準拠することによって受け取ることができます。

Declaration
宣言

  1. weak var delegate: PlaygroundRemoteLiveViewProxyDelegate? { get set }

Instance Methods
インスタンスメソッド

receive(_:)

Allows the handler to receive a live view message as a PlaygroundValue from a remote object.
ライブビューメッセージをリモートオブジェクトからのPlaygroundValueとして受け取ることをハンドラに可能にします。

Declaration
宣言

  1. func receive(_ message: PlaygroundValue)

Parameters
パラメータ

Discussion
解説

The following example receives a dictionary with a command from a remote object. Line 2 checks if the message argument is a dictionary and line 3 gets the command name. The rest of the method parses the command and takes appropriate action.
以下の例は、リモートオブジェクトからのコマンドを持つディクショナリを受け取ります。行2は、message引数がディクショナリかどうか調べます、そして行3はコマンド名を取得します。メソッドの残りは、コマンドを構文解析して適切なアクションを起こします。

  1. func receive(_ message: PlaygroundValue) {
  2.    guard case let .dictionary(dict) = message else { return }
  3.    guard case let .string(commandName)? = dict["command"] else { return }
  4.    // do something with commandName which contains the value stored in "command" key
  5.    …
  6. }

send(_:)

Allows the handler to send a message to a remote object. This method cannot be overridden.
メッセージをリモートオブジェクトに送ることをハンドラに可能にします。このメソッドはオーバーライドされることができません。

Declaration
宣言

  1. func send(_ message: PlaygroundValue)

Parameters
パラメータ

Discussion
解説

Calling this method requires an open connection to a remote object.
このメソッドの呼び出しは、リモートオブジェクトへの開いた接続が必要です。

liveViewMessageConnectionClosed()

Informs the delegate that the connection to the remote live view has been closed.
委任先にリモートライブビューへの接続が閉じられてしまっているのを告知します。

Declaration
宣言

  1. func liveViewMessageConnectionClosed()