3

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

@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”作为变量名?

重命名为宽所以这工作正常顺便说一句:

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

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

1 回答 1

5

确实“宽”是个问题。我已经编辑了这个问题。我也不敢相信

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

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

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

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

于 2013-10-13T09:52:48.457 回答