Odpowiedzi:
Wybierz symbol klasy w jej pliku nagłówkowym - tj. Bit tuż po @interface
. Następnie należy włączyć refaktoryzację.
Jeśli używasz Objective-C ++ (tj. Mieszasz Objective-C z kodem C ++), refaktoryzacja jest wyłączona w xcode, ponieważ nie obsługuje refaktoryzacji kodu C ++.
Refaktoryzacja może być również wyłączona, jeśli pliki, których dotyczy problem (najprawdopodobniej plik z twoją klasą) nie zostaną zapisane.
Używam Xcode od 5 lat i refaktoryzacja nigdy nie działała poprawnie (nawet xcode 4.6 zawiera poważne błędy, które spowodują uszkodzenie twojego kodu źródłowego!).
Obejście zawsze było (nadal działa w 100%, nawet w przypadkach, gdy kod Apple zawodzi)
Mam 100% skuteczność tej metody. Właśnie próbowałem refaktoryzacji za pomocą programu Apple „Refactor -> Rename” w najnowszym xcode i znowu się nie udało!
(tym razem z nieprawidłowym błędem: „Nie można określić języka”, jeden z tych komunikatów o błędach, w których Apple wstawił niewłaściwy tekst)
Zdałem sobie sprawę, że Refactor jest wyłączony, ponieważ projekt Xcode, który otworzyłem, odwoływał się do brakującego zestawu Base SDK. Edytuj ustawienia projektu i na karcie Kompiluj ustaw podstawowy zestaw SDK na taki, który masz (jak dla mnie był to iOS 4.2). To umożliwiło mi Refactor.
Przejdź do pliku nagłówkowego swojej klasy i znajdź wiersz, który wygląda podobnie do tego:
@interface YourClassName
Kliknij prawym przyciskiem myszy symbol klasy (np. YourClassName) i powinieneś być w stanie wybrać Refactor -> Rename ...
Właśnie tego spróbowałem i działa w Xcode 5.
Miałem też ten problem. Pobiegłem przez próbę znalezienia brakujących SDK, zapisywania plików i szukania kodu Objective-C ++, jak wspomniano powyżej, a wszystko, co było potrzebne, aby naprawić moją maszynę, to ponowne uruchomienie XCode.
Wydaje się, że wciąż jest trochę wadliwy.
BTW, to było dla XCode 4.0.1