我试图将一个标准的浮点C数组合并到一个单例中,以便可以全局访问它。这甚至可能吗?我觉得问题在于数组的创建;因为它不会让我以与在头文件中相同的方式生成数组。
例如:
@interface globalVariables : NSObject{
float hzArray[4]; //arrays of floating point variables.
}
@property(nonatomic) float hzArray[4]; //ERROR RETURNED HERE
+(globalVariables *) getVariable;
@end
返回错误:
Property cannot have array or function type 'float[4]'
我意识到这可能是一个非常基本的问题,但我很感激你能给我的任何建议。
谢谢, 汤姆。
答案 0 :(得分:0)
在您阅读之前,check out the question that Larme linked。
完成?好。这里简短的回答是,您不能轻易地将数组作为Objective-C中的属性,并且您可能根本不想要。为了做您认为想要的事情,我强烈建议您使用NSArray
,正如其他一些评论者所提到的那样,并将float
值存储在其中,并包含在NSNumber
个对象中。类似的东西:
@interface GlobalVariables : NSObject
@property (strong, nonatomic) NSArray *hzArray;
+ (GlobalVariables *)getVariable;
@end
@implementation GlobalVariables
+ (GlobalVariables *)getVariable {
GlobalVariables *gv = [[self alloc] init];
// init the array in some meaningful way
gv.hzArray = @[@(1), @(2), @(3)];
return gv;
}
@end
请注意,我已将该类重命名为GlobalVariables
,并带有大写的首字母,因为这是Objective-C中类名的约定。 < / p>