-1

我有3节课。

  • A类包含:

    1. 静态变量“dataX”。
    2. 设置数据的 setter 方法。
    3. 返回数据值的 getter 方法。
  • B类

  • C类。

流程如下:

B类实例化A类并使用setter方法初始化变量“dataX”。

之后,C 类在 viewDidLoad 方法中实例化 A 类,并获取静态变量的值。

但即使 A 类中的变量是静态的,该变量也始终为空。

我想我需要将单例模式与静态 A 类一起放置,而不仅仅是静态属性。

将类指定为静态的语法是什么?

下面的代码:

//  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;
}
4

2 回答 2

1

当您实例化一个类的另一个实例时,这个实例的值当然是空的。

您可以使用单例或将数据存储在其他地方(如果您想使用 NSUserdefaults 将应用程序启动之间的数据保留在您的用户默认值中)

于 2013-04-13T12:38:36.397 回答
-1

“静态类”是什么意思?

你可以使用我在这个答案中描述的单例模式

或使用类方法

类A.h

@interface ClassA

+ (void)setData:(int)data;
+ (int)getData;

@end

类A.m

static int sData;

@implementation ClassA

+ (void)setData:(int)data {
    sData = data;
}

+ (int)getData {
    return data;
}

@end
于 2013-04-13T12:27:35.747 回答