Risposte:
Seleziona il simbolo della classe nel suo file di intestazione, cioè il bit subito dopo @interface
. Quindi le cose di refactoring dovrebbero essere abilitate.
Se stai usando Objective-C ++ (cioè mescola Objective-C con codice C ++), il refactoring è disabilitato in xcode poiché non supporta il refactoring del codice C ++.
Il refactoring potrebbe anche essere disabilitato se i file interessati (molto probabilmente il file con la tua classe in esso) non vengono salvati.
Sto usando Xcode da 5 anni ormai e il refactoring non ha mai funzionato correttamente (anche xcode 4.6 ha grossi bug in cui corromperà il tuo codice sorgente!).
La soluzione alternativa è sempre stata (funziona ancora al 100%, anche nei casi in cui il codice Apple fallisce)
Ho una percentuale di successo del 100% con questo metodo. Ho appena provato il refactoring con "Refactor -> Rename" di Apple nell'ultimo xcode e non è riuscito - di nuovo!
(questa volta con l'errore errato: "Impossibile determinare la lingua di", uno di quei messaggi di errore in cui Apple ha inserito il testo sbagliato)
Vado al mio progetto su Finder, quindi cambio il nome dei file per ottenere informazioni .
Dopodiché, in xcode -> Project Navigator elimino i file.
Alla fine, faccio clic con il pulsante destro del mouse sulla classe e su Aggiungi file a ... e aggiungo di nuovo questi file.
Ha funzionato per me.
Per me ho capito che Refactor era disabilitato perché il progetto Xcode che avevo aperto faceva riferimento a un SDK di base che mancava. Modifica le impostazioni del progetto e nella scheda Costruisci imposta l'SDK di base su quello che hai (come per me questo era iOS 4.2). Questo ha abilitato Refactor per me.
Vai al file di intestazione della tua classe e trova la riga simile a questa:
@interface YourClassName
Fai clic con il pulsante destro del mouse sul simbolo della classe (ad esempio YourClassName) e dovresti essere in grado di selezionare Refactoring -> Rinomina ...
L'ho appena provato e funziona in Xcode 5.
Ho avuto anche questo problema. Ho cercato di trovare gli SDK mancanti, salvare i file e cercare il codice Objective-C ++ come menzionato sopra, e tutto ciò che è servito per riparare la mia macchina è stato il riavvio di XCode.
Sembra ancora un po 'buggy.
BTW, questo era per XCode 4.0.1