拿这段代码:
@interface SomeClass:NSObject
{
@private
NSString* Size;
}
@property NSString* Size;
@end
--------------------------
@implementation SomeClass
@synthesize Size;
- (void) something
{
Size = @"syntax error : Expected identifier or '(' ";
self.Size = @"works ok";
}
@end
为什么这是语法错误? “Size”是保留字还是已在NSSObject中定义? 我在两个单独的项目上得到错误......
答案 0 :(得分:8)
尺寸是一种类型:
typedef long Size;
不要使用它,你应该遵循Objective-C约定,即使用lowerCase命名属性。
答案 1 :(得分:2)
你有选择 - 点击或cmd +点击大小(不是self.Size)?
X Code应告诉您它在MacTypes.h中声明为typedef long Size;
答案 2 :(得分:1)
这是在MacTypes.h
typedef long Size;
它会导致构建错误,我在自己的代码中测试它。
使用目标C命名标准,你不会遇到冲突。
NSString *size;