XcodeでSwiftを始めていろいろとつまづきつつネットで調べたりテックキャンプの講師に聞いたりして解決できるのですが、もっと効率的に自分で解決できたら早いのに…と思っていました。
今日はXcode/Swiftでの調べ方とリファレンスについて整理しています。
私はいままで公式リファレンスを見つけられずにネットで調べていたのですが、情報が古くてバージョンが違ったりしてうまく正解を掴めていませんでした。
その後、Apple公式リファレンスを発見したりテックキャンプの講師に教えてもらい簡易ヘルプの在り処もわかって、また本も買ってみました。
調べ方といえば以下のものが挙げられますので紹介していきます。
この中で1番のおすすめはやはり1のApple公式リファレンスを見る、です。
AppleのXcode/Swift公式リファレンスはどこ?
これ探して結構さまよいました(汗)教材にも見当たらないしネットで探してもたどり着かないし。そしたらXcodeの中にありました。
まずXcodeの画面上部にあるHelp>Developer Documentationにいきましょう。
そうするとこのような画面が出てきます。これがAppleの公式リファレンスですね。検索もできます。例えばImageViewについて調べてみました。
画像の表示/非表示をやりたいと思い、ImageViewのメソッドか何かで表示/非表示を切り替えるメソッドがあるに違いないと想定しました。英語ですが仕方なく進みます。
UIImageViewで検索するとすぐでてきました。
しかしUIImageViewにはそれらしきメソッドは見当たらなかったです。UIImageViewのページをそのまま読んでいくと、継承元のUIViewの記述があったのでそちらをクリックしてみました。
UIViewの中にisHiddenというプロパティを発見しました。型はbooleanなのでtrueかfalseを入れればよいと思い、実際にソースコードで試してみたら表示/非表示を切り替えが出来ました。
このようにしてXcode/Swiftの公式リファレンスを活用できるようになります。
Xcode内の機能で簡易ヘルプリファレンスを使う
ソースコード内でキーボードの「command」を押しながら、マウスカーソルをメソッドの上に移動させると背景がブルーになります。
ここでクリックすると2つ使えるメニューが出てきます。
・Jump to Definition
・Show quick Help
この2つも使えます。英語だけど。
Jump to Definitionはこのような画面。例えばsetTitleの定義部分が見れますのでどんな引数を渡せばいいんだっけ…というのもここでわかりますね。
戻るには画面上部の < をクリックすればよいです。
Show quick Helpはこのような画面。やはりsetTitleのリファレンスということで宣言部分が見れたり、概要、それからパラメータも書かれています。また詳細のリファレンスページにもジャンプできます。
これ結構便利ですね。
リファレンスの本を買って置いておく
私はXcode/Swiftの本を1冊だけ買いました。そのなも「Swiftポケットリファレンス」です。この本、正引きも逆引きもできます。つまり「ボタンを表示したい」という調べ方もできるし、「setTitleていうメソッド何だっけ」という調べ方もできます。
ただデメリットもあって、それは本なので日付を確認しないとね、ということです。Xcode/Swiftは世に出てから新しい言語ということで結構な頻度でバージョンアップしています。
今回購入した本は2018年3月版です。macOS 10.13.2, iOS 11.2.5, iPhone 8Plus, Xcode9.2までカバーしています。現在7月ですが私のXcodeは9.4.1なのですでに進んでいます。ちなみにSwiftバージョンはApple Swift version 4.1.2 です。
ある意味いつの本なのかわかっているのでクッソ騙された、てことは無いわけでそれが逆にメリットともいえるかも。Appleの公式リファレンスが英語なので、よくわからないのきに傍らに置いておいてサッと確認するのが使い方になるだろうと思います。
ネットのQ&Aや誰かのサイトで調べる
私はこれをよくやるのですが、やっぱり最初は公式ページを見るのが良いと思います。そのあとでネットで調べる、と。ネットで調べるとブロガーとかエンジニアの人とかQiitaとかにサンプルコード付きで解説が書かれてたりするのでとても便利です。
Qiita https://qiita.com/tags/swift
逆引きSwift https://docs.fabo.io/swift/
ネットで調べるのにはデメリットももちろんあって、その情報がいつの情報か(古いかもしれない)わからない。情報の正確性が怪しい場合もある、ということですね。なので念の為いつ時点の記事なのか、またSwiftバージョンを確認しておきましょう。
でも自分と同じ事象を解決した人がいてそれが記事になってたりするのは本当に助かりますね。