如何定义一个所有类都可以在Objective C中访问的变量?

时间:2016-06-22 07:48:53

标签: ios objective-c iphone ipad

像:   - Class1,我有一个名为tempData的变量。   - 在Class2中,它可以为tempData赋值。等tempData = @"apple";   - 在Class3中,它可以获取tempData的值。等class3Data = tempData//class3Data's value is "apple".

我该怎么办?

2 个答案:

答案 0 :(得分:0)

使用此代码生成class1的Sharedinstance

+ (Class1 *)sharedInstance
{
    static dispatch_once_t once;
    static Class1 *shared;
    dispatch_once(&once, ^ { shared = [[Class1 alloc] init]; });
    return shared;
}

并在任意位置访问您的变量[Class1 sharedInstance].tempData。但是如果你想使用简单的小数据,如字符串或整数。您应该在应用程序的任何位置的任何类的主体外部创建一个静态变量。只有您需要的是使您想要使用的部分可见。就像在Class.h文件中一样,声明这个

static NSString *tempStr = @"test";

@interface Class
//code goes here of class
@end

并将其用于任何地方。只需使用#import"class.h"您想要使用它。

注意:执行第二种方法的更好方法是创建一个常量文件(头文件)并在该类中声明您的全局变量

答案 1 :(得分:0)

我的首选解决方案(对于常量)是创建一个新的Header文件(.h)并声明常量如下:

ExternalVariables.h

您需要的任何地方,只需导入NSLog(@"%@", API_ADDR); 和:

while(!getAnElementAttribute(xpathInput, "value").equals("true")) {

}

希望这有帮助。