浜村拓夫(・∀・)作品集

頭の中にあるイメージを表現できるデザイン力が欲しいです(><)

APIリファレンスビューア「Dash」が超絶便利だった件

プログラミング学習に役立つ便利なツールを教えていただきました。

それは、Mac用の「Dash」という資料閲覧ソフトです。

 

f:id:hamamuratakuo:20161227143056p:plain

 

kapeli.com

 

Dashを使うと、Swiftの言語仕様リファレンスを一覧することができて、

「この型には、どんな型プロパティーや型メソッドがあるのかな?」

と思ったとき、すぐに確認することができます。

 

Dashは、Swift以外にも、たくさんのプログラミング言語をサポートしており、大いに役立ちそうです。

「もっと早く、このツールに巡り合えていれば良かったのに!」と思いましたw

 

●Dashの使い方

(1) Dashをインストール

とりあえず、Dashの公式サイトから、インストーラーのZIPをダウンロードして、インストールしました。

 

(2) Swiftのdocsetを追加

最初は、データが空みたいなので、自分が欲しいリファレンスのデータを追加します。

 

f:id:hamamuratakuo:20161227152753p:plain

 

上記の画面では、「Apple API Reference」を追加しています。

リファレンスはABC順で並んでいるので、下の方にいくと「Swift」があります。

 

(3) レファレンスの一覧

DashでSwiftのリファレンスを開くと、一覧が眺められます。

 

f:id:hamamuratakuo:20161227152823p:plain

 

(例)「型」(Type)の項目を開いて、「String」→「isEmpty」等とたどっていくと、String型で用意されている型プロパティーについて知ることができます。

 

Dashの使い方の詳細は「Dash API」等のキーワードで検索すると、いろいろな参考情報がヒットします。

→ Dash API - Google 検索

 

(参考)

Dash(リファレンスビューア)が超便利だった件 - Qiita (2014/11/19)

Dash の使い方 - Qiita (2015/03/03)

XCodeのDashプラグインをインストールする方法のメモ - Qiita (2013/01/19)

APIドキュメントブラウザDash用日本語版Docsetsまとめ (2015/12/28)

 

●Swiftのメンバー

Swiftの値の型について学んだ時、Swiftの型にはプロパティーやメソッドが用意されていることを知りました。

(Swiftは、Ruby等を参考にして、良い所取りをしているらしいので、便利な仕組みが備わっているんですね?)

 

hamamuratakuo.hatenablog.com

 

Playgroundで、String型の変数を作り、変数に続けて「.」(ピリオド)を入力すると、コード補完機能によって、String型が持つプロパティーやメソッドの候補が示唆されます。

 

f:id:hamamuratakuo:20161227145546p:plain

 

例えば、

var message: String = "Hello!" // String型のmessageという変数を宣言

message.

と入力すると、

「message」の後ろに付けた「.」(ピリオド)に続いて、String型が持つ型プロパティーや型メソッドがずらずらと表示されます。

 

「Swiftでメンバー(プロパティーやメソッド)の一覧を見たい場合、どうすれば良いのか?」

という素朴な疑問が浮いてきました。

 

メンバー - Wikipedia

プログラミング言語で、構造体やクラスを構成する各データのこと。

 

Rubyなど他の言語では、その言語であらかじめ用意されているリフレクション機能を利用することによって、メンバーを取得できます。

 

リフレクション (情報工学) - Wikipedia

情報工学においてリフレクション (reflection) とは、プログラムの実行過程でプログラム自身の構造を読み取ったり書き換えたりする技術のことを指す。

 

仕事に役立つプログラミング・キーワード - リフレクション:ITpro

リフレクションは,プログラムの中でそのプログラムに含まれる型や変数/メソッドの情報を参照/操作できるようにする仕組みです。

 

Swiftのリフレクション機能は、どうなっているのでしょうか?

 

●Swiftのリフレクション

Swift リフレクション - Google 検索

 

qiita.com

 

…何か思っていたのと違って、面倒くさそうでした。><

 

var memberList = object.getMembers()

というような、リフレクション用のメソッドが用意されていて、一発でメンバーの一覧を取得できたら便利なのですが、そうでもないようです。

(要望が多ければ、Swift4とか次のアップデートで実装されるかも!?)

 

Swiftのリフレクションについては、今後の宿題にしておこう。

とりあえず、Dashを活用して、Swiftの勉強を進めてみたいと思います。(・∀・)

 

 

iPhoneアプリ開発講座 はじめてのSwift

iPhoneアプリ開発講座 はじめてのSwift