0
可以说我有以下对象定义(注意错误):目标c - @变量定义的属性,会发生什么?
@interface User : NSObject {
NSString* pid;
}
@property (nonatomic, retain) NSString* publicId;
@end
通知错误了吗?我定义了pid,但是在property中写了publicId。
这不会导致任何编译器错误(我用的XCode 4 iOS设备),实际上似乎在大多数情况下工作(我可以设置和获取虽然它没有在对象中定义的公共ID!)。如果我试图想象@property和@synthesize是做什么的,我似乎无法理解这不会产生编译器错误!
为什么这个问题似乎工作?有任何想法吗?
谢谢!动态 - 在运行期间还是在编译期间? – Yoav 2011-04-30 19:01:18
@Yoav编译时间。使用Obj-C 2.0,在接口声明中不再需要花括号之间的任何东西。当Interface Builder在Xcode 4中为我生成它时(控制 - 从控件拖动到接口文件以自动生成属性,综合,设置为零,并释放代码),我立即删除它们:无需保留不必要的行代码在重构时同步 – 2011-04-30 19:13:28