Xcode kann nur C- und Objective-C-Code umgestalten. Wie benenne ich den schnellen Klassennamen in Xcode 6 um?

103

Ich habe ein neues Single View-Anwendungsprojekt in der Beta-Version von Xcode 6 erstellt. Ich möchte die schnelle Klasse ViewController.swiftin einen anderen Namen umbenennen . Wenn ich jedoch Refactor -> Rename auswähle, wird ein Fehler ausgegeben Xcode can only refactor C and Objective-C code.

Geben Sie hier die Bildbeschreibung ein

Irgendeine Idee, wie man eine schnelle Klasse in Xcode 6 umbenennt?

AKTUALISIEREN:

Schließlich unterstützt Xcode 9 Refactoring für Swift. Apple hat 3 Jahre gebraucht, um diese grundlegende Funktion hinzuzufügen. Refactoring

Khawar
quelle
9
Derzeit gibt es keine. Einen Fehler melden .
Jtbandes
19
Über ein Jahr nachdem dies gefragt wurde, ist die einzige Antwort immer noch ein manuelles Suchen und Ersetzen! Unglaublich rückwärts von Apple, dies ist eine grundlegende und wesentliche Funktion für eine IDE
HughHughTeotl
1
AppCode kann dieses Refactoring durchführen. Es ist ein zweistufiger Prozess für Ihre Klasse, der in einer .swiftDatei definiert ist . 1. Wählen Sie den Klassennamen aus und führen Sie Refactor> Rename aus . 2. Wählen Sie die .swiftDatei aus und führen Sie Refactor> Rename aus .
Daniel Zhang
5
Auch nach zwei Jahren !!! NICHT IMPLEMENTIERT???
Milad Faridnia
Es ist in
gewisser

Antworten:

25

Sie können den Namen einer Klasse im Dateiinspektor auf der rechten Seite von Xcode6 ändern.

  • Öffne deine Klasse
  • Gehen Sie zu Dateiinspektor> Abschnitt Identifizieren und eingeben
  • Benennen Sie die vorhandene Klasse im Feld "Name" um.

Das ist alles! Zuvor habe ich den Klassennamen in der Klassendatei manuell umbenannt.

Ein neues
quelle
11
Vielen Dank für die Antwort, aber es ändert nur den Klassennamen nur in der Dateistruktur. Ich muss immer noch alle Instanzen meines Klassennamens überall im Code ändern. Während Refactor-> Rename ... verwendet wird, um den Namen sowohl in der Dateistruktur als auch im Code zu ändern.
Khawar
Kein Problem! Ich dachte nur, es sei eine Art Lösung, bis Apple etwas mit diesem Problem unternimmt. Sie können die Funktion Suchen und Ersetzen auch bis zu diesem Tag verwenden. In jedem Fall führt Refactor-> Rename fast die gleichen Aktionen aus.
Newone
1
@Newone Es macht nicht das gleiche. Zum Beispiel sucht Suchen und Ersetzen innerhalb von Zeichenfolgen, und Refactor-> Rename sollte dies nicht tun.
Martin Epsz
15

Ich habe Suchen> Suchen & Ersetzen in Projekt verwendet . Es ist nicht perfekt, aber es funktioniert.

Pescolly
quelle
12

Ich benutze diesen Weg:

  • Sie können den Cursor auf der Variablen positionieren, die Sie umbenennen möchten
  • Editor auswählen - Alle im Bereich bearbeiten (^ ⌘E)
  • Benennen Sie die Variable um und automatisch werden alle Variablenvorkommen bearbeitet
Alessandro Pirovano
quelle
Das hilft. Ich bin erstaunt, dass ich das so lange verpasst habe !! :]
hdsenevi
1
Dies funktioniert nur innerhalb des Bereichs, dh nicht über Dateien IIRC.
Steve Moser
10

Aus diesem Tutorial.

Teilen Sie Ihren iOS8 Swift Code auf

Lassen Sie uns zuerst unseren View Controller so umbenennen, dass er aussagekräftiger ist. Öffnen Sie Ihre ViewController.swift-Datei und ersetzen Sie alle Verweise auf 'ViewController' durch unseren neuen Namen 'SearchResultsViewController'. Benennen Sie die Datei ebenfalls in SearchResultsViewController.swift um.

Wenn Sie versuchen, die App von hier aus auszuführen, kommt es zu einem Absturz. Dies liegt daran, dass unsere Storyboard-Datei nicht aktualisiert wurde, um Informationen über die neue Klasse zu erhalten! Öffnen Sie also das Main.storyboard, wählen Sie Ihr 'View Controller'-Objekt in der Szene aus (das Navigationsgerät auf der linken Seite) und wählen Sie dann den Identitätsinspektor (rechte Seite, dritte Schaltfläche).

Von hier aus ändern wir die Klasse von 'ViewController' in 'SearchResultsViewController'. Jetzt sollten wir wieder auf dem richtigen Weg sein. Überprüfen Sie, ob das Projekt noch funktioniert, und fahren Sie fort.

iPatel
quelle
danke für die Antwort. Ich habe diese Methode bereits experimentiert. Aber es scheint kein guter Weg zu sein. Wenn ich ViewController.swift-Objekte in 10 Klassen verwende, muss ich sie in allen Klassen manuell umbenennen. So viel Schmerz und Zeitverschwendung :(
Khawar
@ Khawar- Ja du hast recht ,, aber vielleicht gibt es jetzt keine andere Option und auch schnell ist in der Beta so. Mach dir keine Sorgen .. hoffe, Apple findet einen anderen einfacheren Weg als (Ziel c ???) :)
iPatel
1
Ich bin auf Version 7.2 (7C68) und das Umbenennen von Refactoring ist immer noch nicht möglich
Barbara R
In 7.3 ist es auch nicht möglich.
ManiaChamp
2

Xcode 9

Xcode 9 unterstützt jetzt das Umbenennen in Swift. Dies wurde in der WWDC 2017 angekündigt.

Geben Sie hier die Bildbeschreibung ein

Guy Daher
quelle
Danke, danke Apple, aber das Umbenennen funktioniert immer noch nicht. Jetzt stürzt der Xcode ab.
Kisileno
Richtig ... Ab Version 9.0 Beta führt das Umbenennen zum Absturz von Xcode. Aber das ist es, was in Zukunft funktionieren soll , wann immer das sein mag :)
Guy Daher