Playgroundでのリテラル(Swift)
ファイルや画像のリテラル(変数の値)がPlaygroundでユニークに表現されるようになりました。
Swfitのコードをがりがり書いている人には関係ないですが、Playgroundで表現豊かにドキュメントを作りたい人にとっては面白い機能です。
Playgroundでのリテラル
Xcode7.1で新しくなった点は、playgroundのコードにファイルや画像、カラーリテラルを埋め込めるようになったことです。リテラルはXcodeのエディタ内では直接ネイティブなフォーマットとして表されているデータの実際の値です。例えば、エディタでは”myImage.jpg”とタイプする必要はなく、Finderから画像をドラッグするだけで画像がコード内にインラインで表示されます。Playgroundでは色を指定するのにRGB値を表示する代わりにカラースウォッチ(配色パレット)を使用します。Playgroundのリテラルは通常のSwiftのコードでて入力したのと同じように動作しますが、はるかに便利な方法でレンダリングされます。
リテラルはクールに見えることに加えて、リソースをかなり高速に編集することができるようになります。カラーパレットを使ってパレットから別の色を素早く選ぶことができます。ファイルをFinderからPlaygroundにドラッグアンドドロップして、すぐに使用することができます。メニューのEdirtor > Insert File, Image, or Color Literalを選択することで、現在のカーソルポジションにリテラルを追加することもできます。リテラルをダブルクリックすることで別のを簡単に選ぶこともできます。
リソースは必要に応じて直接Playgroundのリソースディレクトリにコピーされますので、Playground内で必要となるものはすべてそのドキュメント内ににあります。リテラルはコードの一部なので、ソースコードとまったく同じようにコピー、ペースト、移動、削除ができます。
Swiftコード内のリテラル
リテラルは下表に示すように、プラットフォーム特有の型に変換されます。
Object Literal | OS X | iOS and tvOS |
---|---|---|
Color | NSColor | UIColor |
File | NSURL | NSURL |
Image | NSImage | UIImage |
リテラルのインライン表現を十分に体験するにはplaygroundを使う必要があります。しかしメインのSwiftのソースコードにリテラルを使用しているコードをコピーアンドペーストすれば、ペーストされたコードは期待されたように動作し、Xcodeはリテラルをシンプルにプレーンテキストとして表示します。
リテラルを使い始めてみるために、この投稿で短いPlaygroundを用意しました。最新のXcode7.1betaをダウンロードしてこのPlaygroundを試してみてください。
追加されたドキュメント
Xcode7.1 beta3に付随するドキュメントにはPlaygroundの多くのパワフルな機能についての新しい情報とリテラルについての新しいコンテンツを含むヘルプが含まれます。ここに関連するページへのリンクを載せておきます。
Adding Image Literals
Adding Color Literals
Adding File Literals
下図はXcode7.1内でリテラルがどのように見えるかを示したスクリーンショットです。