2010-06-17 6 views

Antwort

154

Die sicherste Möglichkeit zum Umbenennen von Dateien besteht darin, den Klassennamen mithilfe von Xcode's "Refactor" -Befehl zu refaktorieren. Mit diesem Befehl wird sichergestellt, dass der Code auch an einer anderen Stelle aktualisiert wird, die auf die Datei oder die Klasse verweist (einschließlich NIBs).

Klicken Sie mit der rechten Maustaste auf den Klassennamen in der Schnittstelle (.h), wählen Sie , und Xcode führt Sie durch den Prozess, sodass Sie eine Vorschau der Änderungen anzeigen können, bevor Sie sie übernehmen.

Weitere Details:

Rechts auf den Klassennamen klicken (nach @interface) und wählen Refactor-> Umbenennen. Klicken Sie zum Beispiel direkt auf ViewController in diesem Code:

@interface ViewController : UIViewController 

enter image description here

den neuen Namen für die Klasse ein:

enter image description here

Xcode lassen Sie die Änderungen überprüfen, bevor Sie verpflichten .

enter image description here

Sie können auch den Klassennamen markieren und Edit->Refactor die Verwendung von Xcode Menü oder sogar auf eine Tastenkombination zuordnen, wenn Sie wollen.

Wenn Sie die Datei tatsächlich umbenennen möchten, ohne den Code zu beeinflussen, klicken Sie auf den Namen im Navigatorfenster (linker Bereich), warten Sie eine Sekunde und klicken Sie dann erneut. Der Name wird hervorgehoben und Sie können einen neuen eingeben. Sie können auch aus dem Navigator löschen, die Datei im Finder umbenennen und sie erneut zu Ihrem Projekt hinzufügen.

+0

Dieser Ansatz ist am besten, da Klasseninstanzen in anderen Dateien oder XIB-Dateien umbenannt werden. –

+2

man - ich wollte schon lange wissen, wie man das macht! – roocell

+0

Dies scheint nicht zu funktionieren, seit ich auf 4.3 aktualisiert habe. In der Header-Datei (.h) beschwert sich XCode darüber, dass die Datei nicht zu einem Ziel hinzugefügt wurde - was nicht sein sollte, da es sich um eine Header-Datei handelt. Wenn Sie in der .m-Datei versuchen, beschwert es sich, dass es kein Symbol (Klasse, Funktion usw.) ist. – Michael

3

Standardmäßig wird Xcode eine Datei umbenennen, wenn Sie sie entweder im Datei-Navigator (linkes Umrissansicht-Dings) umbenennen oder wenn Sie den Inspector verwenden.

+0

Hallo in Ordnung ist, würde Ich mag ein Protokoll (SideToolBarDelegate.h) mit ToolBarDelegate.h umbenennen, aber Xcode sagt zu mir: "SideToolBarDelegate.h wird importiert oder von einer Datei eingeschlossen, die Objective-C++, nicht Objective-C oder C lautet:". Wie kann ich es bitte umbenennen? Danke – samir

+0

Suchen und ersetzen. – bbum

+0

Es tut mir leid, funktioniert nicht. – samir

41

Werke für Xcode 4.2.1: wählen Sie die Datei im Projektnavigator (Standard-Panel links) und drückt [Tab]

+0

Danke. Refactor-> Rename funktionierte nicht mit C++ - Dateien. Das hat funktioniert. – BlueVoid

+4

Ich denke, diese Antwort ist mehr verdient als akzeptiert zu werden. +1 –

+0

Perfekt. Danke – Shaun

0

Wenn Sie eine Datei manuell umbenannt und verwenden zum Suchen und Ersetzen der Klassennamen umbenennen Stellen Sie sicher, dass die Datei den Kompilierquellen in den Buildphasen des Ziels hinzugefügt wurde, da sie wahrscheinlich entfernt werden.

0

Wählen Sie Refactor-> Umbenennen Nevan Königs Antwort funktioniert auch auf Xcode Version 7.0 beta (7A120f)

+0

Dies liefert keine Antwort auf die Frage. Um einen Autor zu kritisieren oder um Klärung zu bitten, hinterlasse einen Kommentar unter seinem Beitrag - du kannst deine eigenen Beiträge jederzeit kommentieren, und sobald du genügend [Reputation] (http://stackoverflow.com/help/whats-reputation) hast, wirst du das tun in der Lage sein [jeden Beitrag kommentieren] (http://stackoverflow.com/help/privileges/comment). –

+0

Weil ich 50 Ruf nicht habe. Das ist, was ich eine Antwort auf die Antwort posten. –