Abbiamo una classe WayPoint
. Ma ad un certo punto, abbiamo deciso di rinominare la classe in Placemark
. Tuttavia, non vogliamo davvero cambiare il nome della classe perché comporterà molte modifiche del codice esistente. Pertanto, ho aggiunto una riga di typedef
nella parte inferiore del file di intestazione e iniziare a utilizzare Placemark
in qualsiasi nuovo codice per sempre.Ridefinizione come un diverso tipo di simbolo in Objective-C
@interface WayPoint : _WayPoint
@end
typedef WayPoint Placemark;
Ma c'è ancora una cosa che non capisco. Se provo ad usare la definizione diretta in qualche altro file di intestazione. Posso utilizzato solo:
@class WayPoint;
Se uso:
@class Placemark;
otterrò il messaggio di errore:
Ridefinizione di 'segnaposto' come un diverso tipo di simbolo
Perché?
Interessante domanda, la mia risposta fornisce alternative, bot non risponde alla domanda così com'è. Ho alcune ipotesi, ma non sono sicuro di postarle qui. Sono curioso anche dei dettagli di basso livello. –