Antworten:
Wählen Sie das Symbol der Klasse in ihrer Header-Datei aus - dh das Bit unmittelbar danach @interface
. Dann sollte das Refactoring-Material aktiviert sein.
Wenn Sie Objective-C ++ verwenden (dh Objective-C mit C ++ - Code mischen), ist das Refactoring in xcode deaktiviert, da das Refactoring von C ++ - Code nicht unterstützt wird.
Refactor kann auch deaktiviert werden, wenn betroffene Dateien (höchstwahrscheinlich die Datei mit Ihrer Klasse) nicht gespeichert werden.
Ich benutze Xcode seit 5 Jahren und Refactoring hat nie richtig funktioniert (selbst Xcode 4.6 hat große Fehler, bei denen es Ihren Quellcode beschädigen wird!).
Die Problemumgehung war schon immer (funktioniert immer noch zu 100%, selbst wenn der Code von Apple fehlschlägt).
Ich habe eine 100% ige Erfolgsquote mit dieser Methode. Ich habe gerade versucht, mit Apples "Refactor -> Rename" im neuesten xcode umzugestalten, und es ist erneut fehlgeschlagen!
(Diesmal mit dem falschen Fehler: "Sprache kann nicht ermittelt werden", eine dieser Fehlermeldungen, bei denen Apple den falschen Text eingefügt hat)
Ich gehe zu meinem Projekt im Finder und ändere dann den Dateinamen, indem ich Informationen erhalte .
Danach lösche ich unter xcode -> Project Navigator die Dateien.
Am Ende klicke ich rechts auf die Klasse und und füge Dateien zu ... hinzu und füge diese Dateien erneut hinzu.
Es hat bei mir funktioniert.
Für mich wurde klar, dass Refactor deaktiviert war, weil das von mir geöffnete Xcode-Projekt auf ein fehlendes Basis-SDK verwies. Bearbeiten Sie die Projekteinstellungen und setzen Sie auf der Registerkarte "Erstellen" das Basis-SDK auf eines, das Sie haben (für mich war dies iOS 4.2). Dies hat Refactor für mich aktiviert.
Es kann auch vorkommen, dass Sie den Dateinamen für die Klasse umbenannt haben, entweder außerhalb von xcode oder indem Sie bei gedrückter Strg-Taste auf den Dateinamen klicken und ihn dann umbenennen. xcode weigert sich zu refaktorieren, wenn der Dateiname nicht mit dem Klassennamen übereinstimmt.
Gehen Sie zur Header-Datei Ihrer Klasse und suchen Sie die Zeile, die ungefähr so aussieht:
@interface YourClassName
Klicken Sie mit der rechten Maustaste auf das Klassensymbol (z. B. YourClassName) und Sie sollten Refactor -> Rename ... auswählen können.
Ich habe es gerade versucht und es funktioniert in Xcode 5.
Hatte auch dieses Problem. Ich habe versucht, fehlende SDKs zu finden, Dateien zu speichern und nach Objective-C ++ - Code zu suchen, wie oben erwähnt, und alles, was zur Behebung meines Computers erforderlich war, war ein Neustart von XCode.
Scheint immer noch ein wenig fehlerhaft zu sein.
Übrigens war dies für XCode 4.0.1