Xcodeを使いこなそう!検索、追跡機能の活用

「 コードが増えて処理を追うのが大変になってきた… 」

「 この変数やメソッドってどこで定義されてたんだっけ…? 」

みなさんの中にも、こういった心当たりはないでしょうか?

アプリ開発の中でコードが増えてきたり、たくさんの処理が絡まってくると、変数やメソッドの定義場所や使用箇所の把握が難しくなったり、見通しが悪くなってきます。

今回はSwiftUI対応のサンプルアプリを使って、上記のような場面でも素早くコードの流れを把握することができる、Xcodeの検索、追跡機能をご紹介します!

[ 本記事はこんな人におすすめ ]

・Xcodeの便利な機能を知りたい

・開発アプリのコードが増えて全体の見通しが悪くなってきた

・変数やメソッドの定義箇所や使用箇所が把握できなくなってきた

環境・バージョン

  > Swift 5.7.2

  > Xcode 14.2

  > macOS 12.5 Monterey

始める前に

サンプルコードをダウンロード

本記事では、CodeCandyが用意しているSwiftUI対応のサンプルコードを使って解説をしています。

もちろんお手持ちのプロジェクトを使って読み進めていただいても構いません。

解説とコードを照らし合わせながら理解を深めたい方は、下記のリンクからサンプルコードをダウンロードして、一緒に進めていただければと思います。

下記のリンクからGitHubへ移動します

サンプルコード「お菓子アプリ」のダウンロード>>

こちらのサンプルは「お菓子検索アプリ」で、キーワードを検索することで関連するお菓子の情報がリストアップされるアプリケーションです。

こちらのサンプルコードを使って解説を進めていきます。

Xcodeの検索、追跡機能を活用! 効率よくSwiftコードを把握する

下記にGitHubからのダウンロード手順を解説していますので、ダウンロードが初めての方はこちらを参考にしてください⬇︎

上記のリンクへ飛ぶと、GitHubのページが開きます。

ダウンロードページに飛ぶとたくさんの英語が表示されますが、安心してください。

下記画像の赤枠にある、緑色のボタン「<> Code」をクリックします。


下記のようにメニューが表示されるので、「Download ZIP」をクリックします。

クリックすると自動でZipファイルのダウンロードが始まります。

 

ご自分のファインダーから、ダウンロード一覧に下記のzipファイルがあれば成功です◎

こちらのzipファイルをダブルクリックして、ファイルを解凍します。

解凍後、下記のファイルが取り出せていればサンプルプロジェクトの準備完了です◎

ファイルの中に入って、「MyOkashi.xcodeproj」を開いてプロジェクトを開始しましょう。



※プロジェクトを開く際の警告

プロジェクトを開く際、Xcodeから警告が出力されます。

この警告は何かというと、

外部からダウンロードされたプロジェクトですが、開いてもいいですか?

という確認です。

外部からダウンロードするプロジェクトには、悪意のあるコードが含まれていたり、実行することでパソコンに危害を加えたりする可能性があるため、

発信元のソースが信頼できるものであるか確認しているわけですね。

今回は問題なく、開いて大丈夫です。

1. 呼び出したメソッドの定義を確認

コードを書いていく中で、定義されたメソッドを活用する機会は多々あります。

その際、呼び出したメソッドが

「どこから呼び出されているのか」

「どんな処理なのか」

を確認する方法を見ていきます。

プロジェクトのファイル数が多くなってくると、メソッドの実態を探すことが困難になってきます。そんな時こちらの機能が便利です。

1-1 呼び出されているメソッドの定義元へジャンプする

[ 手順 ]

  1. メソッドにカーソルを当てて、「Command + クリック」
  2. メニューから [ Jump to Definition ] を選択 
[ 結果 ]
 対象メソッドの定義元へ自動でジャンプします。
Xcodeの検索、追跡機能を活用! 効率よくSwiftコードを把握する

元のページへ戻りたい場合は、下記の戻るボタンをクリックします。

Xcodeの検索、追跡機能を活用! 効率よくSwiftコードを把握する

1-2 「Text」など、SwiftUIのView定義の実態を確認する

SwiftUIにはさまざまなView機能が組み込まれており、わたしたちはその機能を簡易的なコードで呼び出すことができます。

しかし、これらの機能は内部で緻密なプログラムコードが仕込まれており、表では見えませんが、処理が動いています。

そういったSwiftUIのView機能の中身がどうなっているのか?

を確認するための機能をご紹介します。

[ 手順 ]

  1. 対象のView機能を「Command + クリック」(例ではTextを選択)
  2. メニューから [ Jump to Definition ] を選択

    —  メソッドや変数ではこの時点でドキュメントへ移動しますが、View機能ではさらに選択が続きます  —

  3. 対象Viewの構造全体を確認したい場合 → 「S」(ストラクチャ)を選択
    対象Viewのメソッドを確認したい場合 → 「M」(メソッド)を選択
[ 結果 ]
  選択に応じたViewドキュメントが開きます。
Xcodeの検索、追跡機能を活用! 効率よくSwiftコードを把握する

内容は英語で書かれていますが、翻訳ソフトを使うことで日本語でも読み解けます。
筆者はDeepL(ディープエル)翻訳を使っています。

DeepL翻訳 >>

また、簡易なヘルプマニュアルで閲覧する方法もあります。

[ 手順 ]

  1. 対象のViewやメソッドを「Command + クリック」
  2. メニューから [ Show Quick Help ] を選択
[ 結果 ]
 ドキュメントがコンパクトな小窓にまとめられて表示されます。
Xcodeの検索、追跡機能を活用! 効率よくSwiftコードを把握する

1-3 対象View定義のさらに詳細なドキュメントページを開く

ドキュメントの内容をさらに詳しく見たい場合はこちらを利用します。

[ 手順 ]

  1. 対象のView機能を「Command + クリック」
  2. メニューから [ Show Quick Help ] を選択
  3. 表示ドキュメント一番下の [ Open In Developper Documentation ] を選択
[ 結果 ]
 Apple公式のドキュメントページへ遷移します。
 こちらからView機能の概要や内容を詳しく確認することができます。
Xcodeの検索、追跡機能を活用! 効率よくSwiftコードを把握する

2. メソッド、変数が利用されている箇所の確認

定義したメソッドや変数などが

「どこで使われているのか」

「どのぐらい使われているのか」

を検索する方法です。

前項目「1-1 呼び出されているメソッドの定義元へジャンプする」では、呼び出したメソッドから元となっている定義場所を検索しましたが、こちらはその逆からの検索方法です。

2-1 メソッドや変数が呼び出されている箇所を検索する

[ 手順 ]

  1. 対象の変数やメソッドを「右クリック」
  2. メニューから [ Find ] を選択
  3. サイドメニューから [ Find Selected Symbol in Workspace ] を選択
[ 結果 ]
 対象データが使用されている箇所がリストで表示されます。
Xcodeの検索、追跡機能を活用! 効率よくSwiftコードを把握する

Symbolとは、プログラムとして有効な定義、命令といった意味合いがあります。

プログラムコードとして何らかの定義や命令を含んだ物を対象としてリストアップしているのですね。

2-2 メソッドや変数の名前で文字列検索する

前項目2-1の [ Find Selected Symbol in Workspace ] 機能と似た機能として、

 [ Find Selected Text in Workspace ] という選択項目があります。

これは、対象をデータとしてではなく「文字列」として検索する方法です。

[ 手順 ]

  1. 対象の変数やメソッドを「右クリック」
  2. メニューから [ Find ] を選択
  3. サイドメニューから [ Find Selected Symbol in Workspace ] を選択
[ 結果 ]

 対象の文字列が使われている箇所がリストで表示されます。

 [ Find Selected Symbol in Workspace ] と違う点として、

 「//」によってコメントで書かれたものも含め、

 同じ文字列が記載された箇所全てがリストアップされます。

Xcodeの検索、追跡機能を活用! 効率よくSwiftコードを把握する

・文字列として引っかかるもの全てを検索したい場合

 ⇨ [ Find Selected Text in Workspace ] 

・変数やメソッドのデータが扱われている場所を検索したい場合

 ⇨ [ Find Selected Symbol in Workspace ] 

というように使い分けましょう。

3. メソッド、変数の名称を一括変更

メソッドや変数の名前を、後になって変更したい場合があるでしょう。

しかし、名称変更したい対象のデータが、すでに多所で使用されていると、一つ一つそれらの名前を編集していかなければならず、打ちミスやエラーの原因にもなります。

これを防ぐために、変数などの名称を一括で変更する方法があります。

3-1. メソッド、変数などの名称を一括で変更する

[ 手順 ]

  1. 対象の変数やメソッドにカーソルを当てて、「右クリック」
  2. メニューから [ Refactor ] を選択
  3. サイドメニューから [ Rename… ] を選択
[ 結果 ]

 同じ文字列の対象が検索され、名称変更モードに入ります。

 任意の名前に変更後、エンターキーを押すと名称の一括変更が完了します。

Xcodeの検索、追跡機能を活用! 効率よくSwiftコードを把握する

まとめ

以上、Xcodeの便利な検索、追跡機能のご紹介でした。

快適な開発のため用意してくれている便利な機能を使いこなして、効率的に作業を進めていきましょう!

動画の紹介

\  SHARE  /

Twitter
Facebook
Email

✏️ アプリ開発が学べる勉強会を開催中! 

CodeCandyではアプリ開発を学ぶための勉強会を定期開催しています。
学習する習慣を身につけたい、他の参加者と作業したい、アプリ開発の基本をマスターしたい、という方のために無料で学べる勉強会です。
グループにメンバー登録して頂くと、イベント開催時にメールで通知されます。

▶️グループのメンバーとして参加する

徹底した基礎学習からマスターするiPhoneアプリ開発集中オンライン講座開講!

本書「iPhoneアプリ開発集中講座」を執筆している現役エンジニア講師陣が直接に指導!
基礎、課題実習で実践力を鍛えて、オリジナルアプリ公開までチャレンジ!
充実した転職支援もあるので、エンジニアへ転職したい人にもおすすめです!

まずは、現役エンジニアに相談できる無料相談をご利用ください。

\ Official /

By 中川 賢亮

2022年2月よりSwift学習を始め、4月からiOSアプリ開発オンラインスクール「CodeCandy」にてアプリ開発を学ぶ。 2023年10月に個人開発アプリ「unico」をリリース。現在はアプリの機能アップデートをしながら、スクール運営の技術ブログの執筆や、出版書籍の入稿チェック・デバッグにも携わる。