「 コードが増えて処理を追うのが大変になってきた… 」
「 この変数やメソッドってどこで定義されてたんだっけ…? 」
みなさんの中にも、こういった心当たりはないでしょうか?
アプリ開発の中でコードが増えてきたり、たくさんの処理が絡まってくると、変数やメソッドの定義場所や使用箇所の把握が難しくなったり、見通しが悪くなってきます。
今回はSwiftUI対応のサンプルアプリを使って、上記のような場面でも素早くコードの流れを把握することができる、Xcodeの検索、追跡機能をご紹介します!
[ 本記事はこんな人におすすめ ]
・Xcodeの便利な機能を知りたい
・開発アプリのコードが増えて全体の見通しが悪くなってきた
・変数やメソッドの定義箇所や使用箇所が把握できなくなってきた
環境・バージョン
> Swift 5.7.2
> Xcode 14.2
> macOS 12.5 Monterey
目次
本記事では、CodeCandyが用意しているSwiftUI対応のサンプルコードを使って解説をしています。
もちろんお手持ちのプロジェクトを使って読み進めていただいても構いません。
解説とコードを照らし合わせながら理解を深めたい方は、下記のリンクからサンプルコードをダウンロードして、一緒に進めていただければと思います。
下記のリンクからGitHubへ移動します
こちらのサンプルは「お菓子検索アプリ」で、キーワードを検索することで関連するお菓子の情報がリストアップされるアプリケーションです。
こちらのサンプルコードを使って解説を進めていきます。
下記にGitHubからのダウンロード手順を解説していますので、ダウンロードが初めての方はこちらを参考にしてください⬇︎
上記のリンクへ飛ぶと、GitHubのページが開きます。
ダウンロードページに飛ぶとたくさんの英語が表示されますが、安心してください。
下記画像の赤枠にある、緑色のボタン「<> Code」をクリックします。
下記のようにメニューが表示されるので、「Download ZIP」をクリックします。
クリックすると自動でZipファイルのダウンロードが始まります。
ご自分のファインダーから、ダウンロード一覧に下記のzipファイルがあれば成功です◎
こちらのzipファイルをダブルクリックして、ファイルを解凍します。
解凍後、下記のファイルが取り出せていればサンプルプロジェクトの準備完了です◎
ファイルの中に入って、「MyOkashi.xcodeproj」を開いてプロジェクトを開始しましょう。
※プロジェクトを開く際の警告
プロジェクトを開く際、Xcodeから警告が出力されます。
この警告は何かというと、
「外部からダウンロードされたプロジェクトですが、開いてもいいですか?」
という確認です。
外部からダウンロードするプロジェクトには、悪意のあるコードが含まれていたり、実行することでパソコンに危害を加えたりする可能性があるため、
発信元のソースが信頼できるものであるか確認しているわけですね。
今回は問題なく、開いて大丈夫です。
コードを書いていく中で、定義されたメソッドを活用する機会は多々あります。
その際、呼び出したメソッドが
「どこから呼び出されているのか」
「どんな処理なのか」
を確認する方法を見ていきます。
プロジェクトのファイル数が多くなってくると、メソッドの実態を探すことが困難になってきます。そんな時こちらの機能が便利です。
[ 手順 ]
元のページへ戻りたい場合は、下記の戻るボタンをクリックします。
SwiftUIにはさまざまなView機能が組み込まれており、わたしたちはその機能を簡易的なコードで呼び出すことができます。
しかし、これらの機能は内部で緻密なプログラムコードが仕込まれており、表では見えませんが、処理が動いています。
そういったSwiftUIのView機能の「中身がどうなっているのか?」
を確認するための機能をご紹介します。
[ 手順 ]
— メソッドや変数ではこの時点でドキュメントへ移動しますが、View機能ではさらに選択が続きます —
内容は英語で書かれていますが、翻訳ソフトを使うことで日本語でも読み解けます。
筆者はDeepL(ディープエル)翻訳を使っています。
また、簡易なヘルプマニュアルで閲覧する方法もあります。
[ 手順 ]
ドキュメントの内容をさらに詳しく見たい場合はこちらを利用します。
[ 手順 ]
定義したメソッドや変数などが
「どこで使われているのか」
「どのぐらい使われているのか」
を検索する方法です。
前項目「1-1 呼び出されているメソッドの定義元へジャンプする」では、呼び出したメソッドから元となっている定義場所を検索しましたが、こちらはその逆からの検索方法です。
[ 手順 ]
Symbolとは、プログラムとして有効な定義、命令といった意味合いがあります。
プログラムコードとして何らかの定義や命令を含んだ物を対象としてリストアップしているのですね。
前項目2-1の [ Find Selected Symbol in Workspace ] 機能と似た機能として、
[ Find Selected Text in Workspace ] という選択項目があります。
これは、対象をデータとしてではなく「文字列」として検索する方法です。
[ 手順 ]
対象の文字列が使われている箇所がリストで表示されます。
[ Find Selected Symbol in Workspace ] と違う点として、
「//」によってコメントで書かれたものも含め、
同じ文字列が記載された箇所全てがリストアップされます。
・文字列として引っかかるもの全てを検索したい場合
⇨ [ Find Selected Text in Workspace ]
・変数やメソッドのデータが扱われている場所を検索したい場合
⇨ [ Find Selected Symbol in Workspace ]
というように使い分けましょう。
メソッドや変数の名前を、後になって変更したい場合があるでしょう。
しかし、名称変更したい対象のデータが、すでに多所で使用されていると、一つ一つそれらの名前を編集していかなければならず、打ちミスやエラーの原因にもなります。
これを防ぐために、変数などの名称を一括で変更する方法があります。
[ 手順 ]
同じ文字列の対象が検索され、名称変更モードに入ります。
任意の名前に変更後、エンターキーを押すと名称の一括変更が完了します。
以上、Xcodeの便利な検索、追跡機能のご紹介でした。
快適な開発のため用意してくれている便利な機能を使いこなして、効率的に作業を進めていきましょう!
\ SHARE /
アプリ開発が学べる勉強会を開催中!
CodeCandyではアプリ開発を学ぶための勉強会を定期開催しています。
学習する習慣を身につけたい、他の参加者と作業したい、アプリ開発の基本をマスターしたい、という方のために無料で学べる勉強会です。
グループにメンバー登録して頂くと、イベント開催時にメールで通知されます。
徹底した基礎学習からマスターするiPhoneアプリ開発集中オンライン講座開講!
本書「iPhoneアプリ開発集中講座」を執筆している現役エンジニア講師陣が直接に指導!
基礎、課題実習で実践力を鍛えて、オリジナルアプリ公開までチャレンジ!
充実した転職支援もあるので、エンジニアへ転職したい人にもおすすめです!
まずは、現役エンジニアに相談できる無料相談をご利用ください。
2022年2月よりSwift学習を始め、4月からiOSアプリ開発オンラインスクール「CodeCandy」にてアプリ開発を学ぶ。 2023年10月に個人開発アプリ「unico」をリリース。現在はアプリの機能アップデートをしながら、スクール運営の技術ブログの執筆や、出版書籍の入稿チェック・デバッグにも携わる。