Mengapa Refactor ... berwarna abu-abu (dinonaktifkan) di Xcode?
Saya ingin mengganti nama kelas.
iphone
xcode
refactoring
Elliot
sumber
sumber
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 ++.
sumber
Refactor mungkin juga dinonaktifkan jika file yang terpengaruh (kemungkinan besar file dengan kelas Anda di dalamnya) tidak disimpan.
sumber
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)
sumber
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.
sumber
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.
sumber
Juga, bisa jadi Anda mengganti nama file untuk kelas, baik di luar xcode atau dengan mengklik ctrl pada nama file dan kemudian mengganti namanya. xcode menolak untuk refactor jika nama file tidak cocok dengan nama kelas.
sumber
Pergi ke file header kelas Anda dan temukan baris yang terlihat seperti ini:
Klik kanan pada simbol kelas (misalnya YourClassName) dan Anda harus dapat memilih Refactor -> Rename ...
Saya baru saja mencoba ini dan berfungsi di Xcode 5.
sumber
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
sumber
Refactoring berfungsi Jika Anda pertama kali mengubah nama file di navigator proyek.
sumber