AppCode 2023.1 ヘルプ

シグネチャーの変更

シグネチャーの変更リファクタリングは、メソッド / 関数シグネチャーに適用できるいくつかの異なる変更を組み合わせます。このリファクタリングを使用して、次のことができます。

  • メソッド / 関数名と戻り値の型を変更する

  • パラメーターの追加、削除、並べ替え

  • パラメーター名と型を変更する

  • 可視性タイプ(Swift の場合)と呼び出し可能タイプを変更します (Objective-C 用)

メソッド / 関数のシグネチャーを変更する場合、AppCode はメソッド / 関数のすべての使用箇所を検索し、変更、反映をすべて安全に修正できるメソッド / 関数のすべての呼び出し、実装、置き換えを更新します。

メソッド / 関数のシグネチャーを変更する

  1. リファクタリングするメソッド / 関数の名前にキャレットを置きます。

  2. Ctrl+F6 を押します。または、メインメニューまたはコンテキストメニューからリファクタリング | シグネチャーの変更を選択します。シグネチャーの変更ダイアログが開きます。

    Change signature refactoring
  3. シグネチャーの変更ダイアログで、必要に応じてメソッド / 関数シグネチャーに必要な変更を加えます。

    • Objective-C 用 : 呼び出し可能なプロシージャのタイプを変更します。ファイルされた呼び出し可能タイプで、機能メソッドブロックを選択します。

    • Swift 用 : 可視性タイプを変更します。可視性フィールドで、publicinternalprivate、または別のタイプを選択します。

    • メソッド / 関数名を変更してください。名前を変更するには、名前フィールドのテキストを編集します。

    • 戻り値の型フィールドの内容を編集して、メソッド / 関数の戻り値の型を変更します。

    • メソッド / 関数パラメーターを管理します。パラメーターを設定するには、パラメーター領域のテーブルとボタンを使用します。

      • 新しいパラメーターを追加するには、The Add button をクリックし、対応するテーブル行で新しいパラメーターのプロパティを指定します。

        Add parameters

      • パラメーターを削除するには、任意の行を選択して The Remove button をクリックします。

      • パラメーターの順序を変更するには、The Up icon および The down icon をクリックします。

  4. 予想される変更を確認し、リファクタリングの前に調整を行うには、プレビューをクリックします(Objective-C でのみ使用可能)。

  5. リファクタリングをクリックします。

サンプル

次の方法をリファクタリングしてみましょう。

func addTextForCell(item: MyListItem, cell: UITableViewCell) { let label = cell.viewWithTag(1000) as! UILabel label.text = item.text }

このメソッドは、MyListItem クラスの text プロパティに格納されているテキストをテーブルビューセル(UITableViewCell)に表示します。シグネチャーの変更リファクタリングを使用すると、メソッド宣言をよりわかりやすくすることができます。

  1. メソッド名にキャレットを置き、Ctrl+F6 を押します。シグネチャーの変更ダイアログが開きます。

    Change Signature
  2. 名前フィールドに、新しい名前 setUpText を入力します。

  3. the Move down button または the Move up button をクリックしてパラメーターを交換します。

    Swap the method parameters
  4. パラメーターの名前を変更し、パラメーターの内部名を追加して、メソッド宣言をより流暢かつ正確にします。cell および itemfor cell および with item に変更します。これを行うには、テーブルでパラメーターを選択し、表示されるフィールドに新しい値を入力します。

    Rename parameters
  5. シグネチャープレビューフィールドで、新しいメソッドシグネチャーがどのように表示されるかを確認できます。

    Signature preview

    リファクタリングをクリックして変更を適用します。メソッドシグネチャーは、メソッド宣言とそのすべての使用箇所で変更されます。

    func setUpText(for cell: UITableViewCell, with item: ChecklistItem) { let label = cell.viewWithTag(1000) as! UILabel label.text = item.text }

  1. キャレットを isPasswordValid 機能に置き、Ctrl+F6 を押します。

  2. 開いたダイアログで、呼び出し可能タイプリストでブロックを選択します。

  3. リファクタリングをクリックします。

// This function will be converted into a block BOOL isPasswordValid(NSString *password) { return password.length > 4; } - (void)performLogin { // ... // Function's call if (isPasswordValid(password) == NO) { // ... } }
- (void)performLogin { // ... // New block if (^BOOL(NSString *password) { return password.length > 4; }(password) == NO) // ... }

シグネチャーの変更ダイアログ

シグネチャーの変更リファクタリングは、メソッド / 関数シグネチャーに適用できるいくつかの異なる変更を組み合わせます。このリファクタリングを使用して、次のことができます。

  • メソッド / 関数名と戻り値の型を変更する

  • パラメーターの追加、削除、並べ替え

  • パラメーター名と型を変更する

  • 可視性タイプ(Swift の場合)と呼び出し可能タイプを変更します (Objective-C 用)

メソッド / 関数のシグネチャーを変更する場合、AppCode はメソッド / 関数のすべての使用箇所を検索し、変更、反映をすべて安全に修正できるメソッド / 関数のすべての呼び出し、実装、置き換えを更新します。

項目

説明

名前

関数、メソッド、メソッド仕様の名前。

パラメーター

シグネチャー内のパラメーターのリスト。パラメーター項目では、パラメーターを使用して以下のアクションを実行することができます。

  • 追加 The Add icon : 新しいパラメーターを追加します。対応するテーブル行で新しいパラメーターのプロパティ(名前、型、デフォルト値)を指定できます。

  • 削除 The Remove icon : パラメーターを削除します。

  • 上へ The Up icon 下へ The Down icon : パラメーターを並べ替えます。

関連ページ:

検索ツールウィンドウ

検索ツールウィンドウでは、検索結果を操作できます。各検索の結果は、別のタブに表示されるか、新規タブで開くダイアログ設定に応じて、現在のタブの内容を置き換えます。デフォルトでは、ウィンドウが画面の下部に表示されます。ツールバーボタン:オプションこのボタンをクリックして、シンボルに対応する使用箇所の検索ダイアログの 1 つを開きます。検索設定を編集し、ボタンをクリックして、変更された検索クエリを実行できます。再実行最後の検索を繰り返します。/ すべて展開すべて折りたたむこれらのボタンを使用して、すべ...

名前の変更リファクタリング

名前の変更リファクタリングを使用すると、コード内のシンボル、ファイル、ディレクトリへのすべての参照を自動的に修正して、シンボル、ファイル、ディレクトリの名前をグローバルに変更できます。ローカル変数またはプライベートメソッドの名前の変更は、限られた範囲のみが影響を受けるため、インラインで簡単に実行できます。クラスや public メソッドの名前を変更すると、多くのファイルに影響を与える可能性があります。この場合は、リファクタリングする前に潜在的な変更をプレビューすることをお勧めします。シンボル名を...

変換

変換リファクタリングを使用すると、メソッドを関数またはブロックに、またはその逆に変換したり、プロパティをインスタンス変数に変換したりできます。これらのリファクタリングは、リファクタリングメニューから呼び出されます。同じ目的でシグネチャーの変更リファクタリングを使用することもできます。メソッドに変換:メソッドに変換リファクタリングを使用すると、関数またはブロックをメソッドに変換できます。エディターで、メソッドに変換する関数またはブロックにキャレットを配置します。メインまたはコンテキストメニューか