Jawaban:
Pilih simbol kelas di file headernya - yaitu bit setelahnya @interface
. Kemudian hal refactoring harus diaktifkan.
Jika Anda menggunakan Objective-C ++ (yaitu mencampur Objective-C dengan kode C ++) maka pemfaktoran ulang dinonaktifkan di xcode karena tidak mendukung pemfaktoran ulang kode C ++.
Refactor mungkin juga dinonaktifkan jika file yang terpengaruh (kemungkinan besar file dengan kelas Anda di dalamnya) tidak disimpan.
Saya telah menggunakan Xcode selama 5 tahun sekarang, dan refactoring tidak pernah bekerja dengan benar (bahkan xcode 4.6 memiliki bug utama yang AKAN merusak kode sumber Anda!).
Solusinya selalu (masih berfungsi 100%, bahkan dalam kasus di mana kode Apple gagal)
Saya memiliki tingkat keberhasilan 100% dengan metode ini. Saya baru saja mencoba refactoring dengan "Refactor -> Rename" Apple di xcode terbaru dan gagal - lagi!
(kali ini dengan kesalahan yang salah: "Tidak dapat menentukan bahasa", salah satu pesan kesalahan di mana Apple meletakkan teks yang salah)
Saya akan ke proyek saya di finder, lalu mengubah nama file dengan mendapatkan info .
Setelah itu, di xcode -> Project Navigator saya menghapus file.
Pada akhirnya, saya mengklik kanan di kelas dan Tambahkan file ke ... , dan menambahkan file ini lagi.
Itu berhasil untuk saya.
Bagi saya, saya menyadari Refactor dinonaktifkan karena proyek Xcode yang saya buka merujuk ke Base SDK yang hilang. Edit Pengaturan Proyek dan di tab Bangun atur SDK Basis ke yang Anda miliki (seperti bagi saya ini adalah iOS 4.2). Ini mengaktifkan Refactor untuk saya.
Pergi ke file header kelas Anda dan temukan baris yang terlihat seperti ini:
@interface YourClassName
Klik kanan pada simbol kelas (misalnya YourClassName) dan Anda harus dapat memilih Refactor -> Rename ...
Saya baru saja mencoba ini dan berfungsi di Xcode 5.
Punya masalah ini juga. Saya mencoba menemukan SDK yang hilang, menyimpan file, dan mencari kode Objective-C ++ seperti yang disebutkan di atas, dan yang diperlukan untuk memperbaiki mesin saya hanyalah me-reboot XCode.
Sepertinya masih sedikit buggy.
BTW, ini untuk XCode 4.0.1