web-dev-qa-db-ja.com

XcodeはCおよびObjective-Cコードのみをリファクタリングできます。 Xcode 6でSwiftクラス名を変更するには?

Xcode 6ベータ版で新しいシングルビューアプリケーションプロジェクトを作成しました。名前を変更したいSwift class from ViewController.Swift他の名前に。ただし、[リファクタリング]-> [名前の変更]を選択すると、エラーXcode can only refactor C and Objective-C code

enter image description here

Xcode 6でSwift class?

UPDATE:

最後に、Xcode 9はSwiftのリファクタリングをサポートしています。この基本機能を追加するには、Apple 3年かかりました。 リファクタリング

103
Khawar

Xcode6の右側にあるファイルインスペクターでクラスの名前を変更できます。

  • クラスを開く
  • [ファイルインスペクター]> [識別と入力]セクションに移動します
  • 「名前」フィールドの既存のクラスの名前を変更します。

それで全部です!以前は、クラスファイルのクラス名を手動で変更しました。

25
Newone

[検索]> [プロジェクトの検索と置換]を使用していますが、完璧ではありませんが、動作します。

15
Pescolly

私はこの方法を使用します:

  • 名前を変更したい変数にカーソルを置くことができます
  • エディターの選択-スコープ内ですべて編集(^⌘E)
  • 変数の名前を変更すると、自動的にすべての変数の出現が編集されます
12

このチュートリアルから

IOS8 Swiftコードを分割します

まず最初に、View Controllerの名前をより意味のあるものに変更しましょう。 ViewController.Swiftファイルを開き、「ViewController」へのすべての参照を新しい名前「SearchResultsViewController」に置き換えます。ファイルの名前もSearchResultsViewController.Swiftに変更します。

ここからアプリを実行しようとすると、クラッシュが発生します。これは、ストーリーボードファイルが新しいクラスを認識するように更新されていないためです! Main.storyboardを開き、シーン内の「View Controller」オブジェクト(左側のナビゲーション)を選択してから、IDインスペクター(右側の3番目のボタン)を選択します。

ここから、クラスを「ViewController」から「SearchResultsViewController」に変更します。軌道に戻ったはずです。プロジェクトがまだ機能していることを確認し、先に進みましょう。

10
iPatel

Xcode 9

Xcode 9は、Swiftでの名前変更をサポートするようになりました。これはWWDC 2017で発表されました。

enter image description here

2
Guy Daher

残念ながら、Appleはまだ実装していません。

詳細については、 http://www.quora.com/Why-isnt-there-a-refactoring-feature-for-Swift-language-in-Xcode-6 を参照してください。

2
vy32