Допустим, у меня есть следующее определение объекта (обратите внимание на ошибку):
@interface User : NSObject {
NSString* pid;
}
@property (nonatomic, retain) NSString* publicId;
@end
Заметили ошибку?Я определил pid, но написал publicId в свойстве.
Это не вызывает никаких ошибок компилятора (я использую XCode 4 для iOS) и фактически работает в большинстве случаев (я могу установить и получить публичный идентификатор, хотя этоне определено в объекте!).Если я попытаюсь представить, что делают @property и @synthesize, я не могу понять, как это не приводит к ошибкам компилятора!
Почему это работает?Есть идеи?