Câu trả lời:
Chọn biểu tượng của lớp trong tệp tiêu đề của nó - tức là bit ngay sau đó @interface
. Sau đó, công cụ tái cấu trúc sẽ được kích hoạt.
Nếu bạn đang sử dụng Objective-C ++ (tức là trộn Objective-C với mã C ++) thì tính năng tái cấu trúc bị tắt trong xcode vì nó không hỗ trợ tái cấu trúc mã C ++.
Refactor cũng có thể bị tắt nếu các tệp bị ảnh hưởng (rất có thể là tệp có lớp của bạn trong đó) không được lưu.
Tôi đã sử dụng Xcode được 5 năm rồi và việc tái cấu trúc chưa bao giờ hoạt động chính xác (ngay cả xcode 4.6 cũng có những lỗi lớn mà nó SẼ làm hỏng mã nguồn của bạn!).
Giải pháp thay thế luôn là (vẫn hoạt động 100%, ngay cả trong trường hợp mã của Apple bị lỗi)
Tôi có tỷ lệ thành công 100% với phương pháp này. Tôi vừa thử cấu trúc lại bằng "Refactor -> Rename" của Apple trong xcode mới nhất và nó không thành công - một lần nữa!
(lần này với lỗi không chính xác: "Không thể xác định ngôn ngữ của", một trong những thông báo lỗi mà Apple đã đặt sai văn bản tại chỗ)
Đối với tôi, tôi nhận ra rằng Refactor đã bị vô hiệu hóa vì dự án Xcode tôi đã mở đang tham chiếu đến SDK cơ sở bị thiếu. Chỉnh sửa Cài đặt Dự án và trong tab Xây dựng, đặt SDK Cơ sở thành SDK mà bạn có (giống như đối với tôi, đây là iOS 4.2). Điều này đã kích hoạt Refactor cho tôi.
Chuyển đến tệp tiêu đề của lớp bạn và tìm dòng giống như sau:
@interface YourClassName
Nhấp chuột phải vào biểu tượng lớp (ví dụ: YourClassName) và bạn có thể chọn Refactor -> Rename ...
Tôi vừa thử điều này và nó hoạt động trong Xcode 5.