-1

我已经用这样的单例方法实现了一个数组:

。H

#import <UIKit/UIKit.h>

@interface globaltextarray : NSObject 
+(NSMutableArray*)Text;

@end

.m

#import "globaltextarray.h"

@implementation globaltextarray

+(NSMutableArray*)Text {
    static NSMutableArray *statArray;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        statArray = [NSMutableArray array];
    });
    return statArray;
}
@end

我以我拥有的一种形式使用它并且效果很好。我想要实现的是以下。

在我使用这个全局数组的表单上,当我点击一个按钮时,一个新表单将打开,与我之前已经打开的表单相同,但其中的数据不同,然后在刚刚打开的第二个表单上,我点击一个按钮,同样的故事发生了上。所以我的问题是这样的:有没有办法使用这个唯一的 globaltextarray 对象创建多个单例数组,该对象应该保存不同的数据,这些数据在用户从一种形式导航到另一种形式(第二个、第三个等)时显示出来?

希望你能理解。任何帮助表示赞赏。

4

1 回答 1

1

首先最好阅读有关如何以及何时使用单例类和 var 的信息。

为了实现您的功能,请不要使用单例数组。

你可以做两件事。

第一种方法是NSMutableArray为您的每个表单创建一个属性并填写他们自己的视图加载方法。

@property(nonatomic,strong)NSMutableArray *formDetailsArray

第二种方法是最坏的情况,为您的父表单创建一个全局NSMutableArray属性并在您的子表单中访问它。

父表格

 @property(nonatomic,strong)NSMutableArray *formParentArray;

[formParentArray addObject:form1childArray];
[formParentArray addObject:form2childArray];
[formParentArray addObject:form3childArray];
[formParentArray addObject:form4childArray];

Child1 表单

datasource = parentFormObj.form1childArray

Child2 表格

datasource = parentFormObj.form2childArray
于 2013-04-24T01:40:58.153 回答