以下数组x不大,但它是我的示例数组。
float x[4] = {1.0f, 2.0f, 4.0f, 8.0f};
说,我想在我的ViewController BSViewController.h/.m
中使用该数组。我在BSParam.h
中添加了BSViewController.h
,但我不知道如何在x
中使用BSViewController.m
下面是我班级的代码,它将包含我的常量数组。
//
// BSParam.h
#import <Foundation/Foundation.h>
@interface BSParam : NSObject
@end
//
// BSParam.m
#import "BSParam.h"
@implementation BSParam
#include <stdio.h>
float x[4] = {1.0f, 2.0f, 4.0f, 8.0f};
@end
答案 0 :(得分:1)
1)如果您想在课堂之外使用,请使用extern
关键字使其可用:
// BSParam.h
extern float x[4];
// BSParam.m
#import "BSParam.h"
float x[4] = { 1.0f, 2.0f, 4.0f, 8.0f };
// BSViewController.m
#import "BSParam.h"
- (void)dummy {
float t = x[0]; // etc.
}
2)无论如何,这个解决方案将使变量x
成为全局变量,并且可以在应用程序的任何位置使用,而无需任何上下文/命名空间来访问它,因此这不是最佳解决方案。
要使应用程序的其他部分可以访问全局值,最好使用 Singleton模式,或者使用类方法。
例如:
@interface BSParam : NSObject
+(float[4])x;
@end
@implementation BSParam
+(float[4])x {
return (float[4]){ 1.0f, 2.0f, 4.0f, 8.0f };
}
@end
这样您就可以使用[BSParam x]
来访问您的数组,而不只是x
,添加一些名称空间来访问此x
数组,从而避免风险混淆其他局部变量或其他任何东西。
答案 1 :(得分:0)
您可以让函数为您返回它们,或者只在标题中使用extern
声明:
extern float x[4];