如何在类之间保持对象

时间:2016-11-13 18:36:02

标签: objective-c class properties

我有6个类别包含唯一数据;我已经定义了一个类似于这样的类:

@interface ExportBookData : NSObject {

}

@property (strong, nonatomic) NSArray *booksArray;
@property (nonatomic, retain) NSMutableDictionary *builtFileList;
@property (nonatomic, retain) NSMutableArray *exportData;

@end

我想要做的是能够为每个类别实例化一次ExportBookData类,并在另一个类中使用该实例化类,使数据保持不变并且可以在类之间访问。

我已经尝试过这段代码,但它没有做我需要的事情:

ExportBookData *abe = [ExportBookData new];  
abe.abeBuiltFileList = [NSMutableDictionary dictionary];
abe.abeExportData = [NSMutableArray arrayWithCapacity:abe.abeBooksArray.count];

更新 问题在于对象的寻址;我有类别名为Abe,Balls,Comp,Caller,Hut和House。我希望这个类具有可以作为Abe,Balls等解决的属性。我无法弄清楚如何使用我定义的内容来解决这个问题。

我查看了Google,但没有发现任何可以回答我的具体问题。

1 个答案:

答案 0 :(得分:1)

封装,封装,封装!将特殊知识放在类本身

假设您有一个ExportBookData对象,其行为方式不同,具体取决于它使用的书商。然后提供一个采用书商类型的初始化程序:

ExportBookData *abe = [[ExportBookData alloc] initWithCategory:@"Abe"];

好的,现在这个的ExportBookData实例知道它的行为应该是Abe类型的行为。但无论如何初始化ExportBookData,其公共属性名称都将是相同的,例如, builtFileListexportData,因此您可以引用abe.builtFileList,这将是Abe的正确类型列表。< / p>