我注意到你可以用这种方式"双重声明"一个变量:
@interface A {
NSString *instanceVariable;
}
@property (nonatomic, retain) NSString *instanceVariable;
@end
Run Code Online (Sandbox Code Playgroud)
这与以下情况具有相同的效果:
@interface A {
}
@property (nonatomic, retain) NSString *instanceVariable;
@end
Run Code Online (Sandbox Code Playgroud)
为什么编译器不会在这种情况下抱怨?