为什么我不能使用"宽"作为变量名?

时间:2013-10-13 09:30:32

标签: ios objective-c cocoa-touch

我定义了一个这样的新类:

@interface SomeClass : NSObject {
    int wide;
}
- (id)initWithWide:(int)value;
@end

当我实现initWithWide方法时,如下所示:

@implementation SomeClass
- (id)initWithWide:(int)value  {
    self = [super init];
    wide = value;
}
@end

Xcode向我显示错误:"Expected identifier or'('"。当我将“宽”变量名改为else时,没关系。所以看起来我不能在Objective-C中使用“wide”作为变量名?

改名为宽,所以这工作正常btw:

@interface SomeClass : NSObject {
    int wide1;
}
- (id)initWithWide:(int)value; 
@end

@implementation SomeClass
- (id)initWithWide:(int)value  {
    self = [super init];
    wide1 = value;
}
@end

1 个答案:

答案 0 :(得分:5)

确实'宽'是一个问题。我编辑了这个问题。我真的不相信它

BUT

wide在OSX / iOS上是typedef(MacTypes.h行~133)

struct wide {
  UInt32              lo;
  SInt32              hi;
};
typedef struct wide                     wide;

无论如何这是更多的建议然后回答但是

将变量命名为宽是没有意义的;)在这种情况下,它不应该只是一些形容词 - 将其命名为宽度!