クラスファイルの名前を変更/リファクタリングして、ディスク上の実際のファイルの名前を変更することは可能ですか?もしそうなら、どうすればこれを行うことができますか?
回答:
ファイルの名前を変更する最も安全な方法は、Xcodeの「リファクタリング」コマンドを使用してクラス名をリファクタリングすることです。このコマンドを使用すると、ファイルまたはクラス(NIBを含む)を参照する場所でもコードが更新されます。
interface(.h
)ファイルのクラス名を右クリックしてを選択するRefactor->Rename
と、Xcodeがプロセスをガイドし、変更をコミットする前にプレビューできるようにします。
詳細:
(後の@interface
)クラス名を右クリックし、[リファクタリング]-> [名前の変更]を選択します。たとえばViewController
、次のコードを右クリックします。
@interface ViewController : UIViewController
クラスの新しい名前を入力します。
Xcodeを使用すると、コミットする前に変更を確認できます。
クラス名を強調表示してXcodeのEdit->Refactor
メニューを使用したり、必要に応じてキーボードショートカットにマップしたりすることもできます。
コードに影響を与えずに実際にファイルの名前を変更する場合は、[ナビゲーター]ペイン(左側のペイン)で名前をクリックし、しばらく待ってからもう一度クリックします。名前が強調表示され、新しい名前を入力できます。ナビゲーターから削除し、Finderでファイルの名前を変更して、プロジェクトに再度追加することもできます。
Xcode 4.2.1で動作します:プロジェクトナビゲーター(デフォルトの左側のパネル)でファイルを選択し、[タブ]を押します
デフォルトでは、ファイルナビゲーター(左側のアウトラインビュー)でファイルの名前を変更するか、インスペクターを使用すると、Xcodeはファイルの名前を変更します。
Xcode 11.6、「foo.cpp」の名前を「bar.cpp」に変更しようとすると、上記の方法を使用しても機能しません。REFACTORオプションはグレー表示されています。代わりに、次のようにします。
画面の右側に、ファイルインスペクターが表示されます。
[リファクタリング]-> [名前の変更]を選択しますnevankingの答えはXcodeバージョン7.0ベータ(7A120f)でも正常に機能します