我正在尝试研究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;
/索伦