Iphone iOS iVar命名为;“尺寸”;语法错误?
以这个代码为例:Iphone iOS iVar命名为;“尺寸”;语法错误?,iphone,objective-c,ios,xcode,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 '('
@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
为什么这是一个语法错误?“大小”是保留字还是已在NSSObject中定义?
我在两个单独的项目中发现错误…大小是一种类型:
typedef long Size;
不要使用它,您应该遵循Objective-C约定,即用小写字母命名属性。您是否选择单击或cmd+单击大小(而不是self.Size)? X代码应该告诉您,它在MacTypes.h中声明为
typedef long Size代码>这是在MacTypes.h中
typedef long Size;
这将导致生成错误,我在自己的代码中对其进行了测试
使用objective C命名标准,您不会遇到冲突
NSString *size;