Chúng tôi có một lớp WayPoint
. Nhưng tại một số thời điểm, chúng tôi quyết định đổi tên lớp thành Placemark
. Tuy nhiên, chúng tôi không thực sự muốn thay đổi tên của lớp vì nó sẽ dẫn đến nhiều sửa đổi của mã hiện có. Do đó, tôi đã thêm một dòng typedef
ở cuối tệp tiêu đề và bắt đầu sử dụng Placemark
trong bất kỳ mã mới nào vui vẻ từ đó.Định nghĩa lại như một loại biểu tượng khác trong Mục tiêu-C
@interface WayPoint : _WayPoint
@end
typedef WayPoint Placemark;
Nhưng vẫn còn một điều mà tôi không hiểu. Nếu tôi cố gắng sử dụng định nghĩa chuyển tiếp trong một số tệp tiêu đề khác. Tôi chỉ có thể sử dụng:
@class WayPoint;
Nếu tôi sử dụng:
@class Placemark;
tôi sẽ nhận được thông báo lỗi:
Xác định lại của 'Dấu vị trí' như một loại khác nhau của biểu tượng
Tại sao?
Câu hỏi thú vị, câu trả lời của tôi cung cấp giải pháp thay thế, bot không trả lời câu hỏi. Tôi có một số dự đoán, nhưng tôi không chắc chắn để đăng chúng ở đây. Tôi cũng tò mò về chi tiết cấp thấp. –