单身人士的标准C阵列

时间:2014-07-09 15:05:59

标签: ios objective-c arrays singleton

我试图将一个标准的浮点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]'

我意识到这可能是一个非常基本的问题,但我很感激你能给我的任何建议。

谢谢, 汤姆。

1 个答案:

答案 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>