iOS iVar名为“Size”语法错误?

时间:2012-08-10 14:02:09

标签: iphone objective-c ios xcode

拿这段代码:

@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中定义? 我在两个单独的项目上得到错误......

3 个答案:

答案 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;