@property后"Interface type cannot be statically allocated"多个类类型变量



我正在尝试研究Objective-C以使用它创建一个iOS应用程序。在 Java 中,我们可以在一行中声明类类型的变量,如下所示:

CustomClass first, second, third;

我尝试在Objective-C的界面中使用@property标签做同样的事情:

@interface Rectangle : NSObject
@property XYPoint* origin, opposite;
// ...
@end

但这会引发错误"无法静态分配接口类型"。但是,如果我在单独的属性标签上声明这两个变量,如下所示,则错误将消失。

@interface Rectangle : NSObject
@property XYPoint* origin;
@property XYPoint* opposite;
// ...
@end

为什么?当我对基元类型使用我的第一种方法时,它有效。为什么不适合类类型?此外,与其他关于相同错误消息的问答不同,我没有错过将*放在类型声明之后。

你可以这样做:

@property XYPoint *origin, *opposite;

编辑:你在没有星星的情况下合成它们,就像这样:

@synthesize origin, opposite;

/索伦

最新更新