プログラミング学習に役立つ便利なツールを教えていただきました。
それは、Mac用の「Dash」という資料閲覧ソフトです。
Dashを使うと、Swiftの言語仕様リファレンスを一覧することができて、
「この型には、どんな型プロパティーや型メソッドがあるのかな?」
と思ったとき、すぐに確認することができます。
Dashは、Swift以外にも、たくさんのプログラミング言語をサポートしており、大いに役立ちそうです。
「もっと早く、このツールに巡り合えていれば良かったのに!」と思いましたw
●Dashの使い方
(1) Dashをインストール
とりあえず、Dashの公式サイトから、インストーラーのZIPをダウンロードして、インストールしました。
(2) Swiftのdocsetを追加
最初は、データが空みたいなので、自分が欲しいリファレンスのデータを追加します。
上記の画面では、「Apple API Reference」を追加しています。
リファレンスはABC順で並んでいるので、下の方にいくと「Swift」があります。
(3) レファレンスの一覧
DashでSwiftのリファレンスを開くと、一覧が眺められます。
(例)「型」(Type)の項目を開いて、「String」→「isEmpty」等とたどっていくと、String型で用意されている型プロパティーについて知ることができます。
Dashの使い方の詳細は「Dash API」等のキーワードで検索すると、いろいろな参考情報がヒットします。
(参考)
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等を参考にして、良い所取りをしているらしいので、便利な仕組みが備わっているんですね?)
Playgroundで、String型の変数を作り、変数に続けて「.」(ピリオド)を入力すると、コード補完機能によって、String型が持つプロパティーやメソッドの候補が示唆されます。
例えば、
var message: String = "Hello!" // String型のmessageという変数を宣言
message.
と入力すると、
「message」の後ろに付けた「.」(ピリオド)に続いて、String型が持つ型プロパティーや型メソッドがずらずらと表示されます。
「Swiftでメンバー(プロパティーやメソッド)の一覧を見たい場合、どうすれば良いのか?」
という素朴な疑問が浮いてきました。
プログラミング言語で、構造体やクラスを構成する各データのこと。
Rubyなど他の言語では、その言語であらかじめ用意されているリフレクション機能を利用することによって、メンバーを取得できます。
情報工学においてリフレクション (reflection) とは、プログラムの実行過程でプログラム自身の構造を読み取ったり書き換えたりする技術のことを指す。
仕事に役立つプログラミング・キーワード - リフレクション:ITpro
リフレクションは,プログラムの中でそのプログラムに含まれる型や変数/メソッドの情報を参照/操作できるようにする仕組みです。
Swiftのリフレクション機能は、どうなっているのでしょうか?
●Swiftのリフレクション
…何か思っていたのと違って、面倒くさそうでした。><
var memberList = object.getMembers()
というような、リフレクション用のメソッドが用意されていて、一発でメンバーの一覧を取得できたら便利なのですが、そうでもないようです。
(要望が多ければ、Swift4とか次のアップデートで実装されるかも!?)
Swiftのリフレクションについては、今後の宿題にしておこう。
とりあえず、Dashを活用して、Swiftの勉強を進めてみたいと思います。(・∀・)