比如:- Class1,我有一个名为tempData的变量。-在Class2中,它可以给tempData赋值。tempData = @"apple";
-在Class3中,它可以得到tempData的值.class3Data = tempData
等。//class3Data's value is "apple".
我该怎么办?
发布于 2016-06-22 07:57:11
使用以下代码创建class1的共享实例
+ (Class1 *)sharedInstance
{
static dispatch_once_t once;
static Class1 *shared;
dispatch_once(&once, ^ { shared = [[Class1 alloc] init]; });
return shared;
}
并以[Class1 sharedInstance].tempData
的形式访问您的变量。但是,如果您想使用简单的数据,比如字符串或整数。您应该在应用程序中任何地方的任何类的主体之外创建一个静态变量。你只需要让它在你想要使用的部分可见。就像在一个文件Class.h .h中,声明如下
static NSString *tempStr = @"test";
@interface Class
//code goes here of class
@end
把这个用到任何地方。只要在想要使用这个的地方使用#import"class.h"
即可。
注意:第二种方法的更好方法是创建一个常量文件(头文件),并在该类中声明全局变量。
发布于 2016-06-22 08:59:13
我最喜欢的解决方案(对于常量)是创建一个新的头文件(.h),并按如下方式声明常量:
#define API_ADDR @"http://anURL.com"
在任何需要它的地方,只需导入ExternalVariables.h
并:
NSLog(@"%@", API_ADDR);
希望这能有所帮助。
https://stackoverflow.com/questions/37961733
复制相似问题