我正在尝试研究 Objective-C 以使用它创建一个 iOS 应用程序。在 Java 中,我们可以在一行中声明类类型变量,如下所示:
CustomClass first, second, third;
我尝试使用 @property
标签在我的 Objective-C 界面中做同样的事情:
@interface Rectangle : NSObject
@property XYPoint* origin, opposite;
// ...
@end
但这会引发错误“无法静态分配接口(interface)类型”。但是,如果我在单独的属性标签上声明这两个变量,如下所示,错误就会消失。
@interface Rectangle : NSObject
@property XYPoint* origin;
@property XYPoint* opposite;
// ...
@end
这是为什么呢?当我对原始类型使用我的第一种方法时,它起作用了。为什么它不适用于类类型?此外,与关于相同错误消息的其他问答不同,我没有错过在类型声明之后放置 *
。
最佳答案
你可以这样做:
@property XYPoint *origin, *opposite;
编辑:你可以像这样在没有星号的情况下合成它们:
@synthesize origin, opposite;
/索伦
关于java - @property 后的多个类类型变量上的 "Interface type cannot be statically allocated",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13834480/