我有3节课。
A类包含:
B类
流程如下:
B类实例化A类并用setter方法初始化变量“dataX”。
然后,类C在viewDidLoad方法中实例化A类并获取静态变量的值。
但即使A类中的变量是静态的,变量也总是为空。
我想我需要将Singleton Pattern与静态A类放在一起,而不仅仅是静态属性。
将Class指定为静态的语法是什么?
以下代码:
// HandleMessage.h
@interface HandleMessage : NSObject
@property *NSString nameFile;
// Getter
- (NSString *)getNameFile;
// Setter
- (void)setNameFile: (NSString *) value;
@end
和
// HandleMessage.m
#import "HandleMessage.h"
@implementation HandleMessage
static nameFile;
@synthesize nameFile ;
// Getter definition
- (NSString *)getNameFile{
return nameFile;
}
// Setter definition
- (void)setNameFile: (NSString *) value{
nameFile = value;
}
答案 0 :(得分:1)
当您实例化类的另一个实例时,该实例的值为null。
您可以使用单身人士或将数据存储在其他位置(如果您希望使用NSUserdefaults在用户默认设置中保持应用启动之间的数据)
答案 1 :(得分:-1)
你是什么意思" Class as Static" ??
你可以使用我在this answer
中描述的单例模式或使用类方法
ClassA.h
@interface ClassA
+ (void)setData:(int)data;
+ (int)getData;
@end
ClassA.m
static int sData;
@implementation ClassA
+ (void)setData:(int)data {
sData = data;
}
+ (int)getData {
return data;
}
@end