在目标c中创建一个数组,该数组可用于创建数组的类的所有对象

时间:2012-11-30 06:40:22

标签: objective-c arrays nsmutablearray nsarray

我想创建一个在调用类的函数(例如FillArray())时要初始化的数组。在函数FillArray()之后永远不会被调用。

我希望这个数组在初始化后可用于该类的所有其他对象。

我该怎么做?谢谢你提前

2 个答案:

答案 0 :(得分:1)

简单地声明一个像这样的静态数组!

static NSMutableArray *staticArray = nil;

void FillArray() {
    if(staticArray == nil) {
        staticArray = [[NSMutableArray aloc] init];
    }
}

当你没有孤独的人需要它!记得发布它!

void FreeArray() {
    [staticArray release];
    staticArray = nil;
}

答案 1 :(得分:0)

将其设为静态/共享/全局。

@implementation MySingleton static NSMutableArray * _sharedMySingletonArray = nil;

+(MySingleton*)sharedMySingleton
{
    @synchronized([MySingleton class])
    {
        if (!_sharedMySingletonArray)
            [[self alloc] init];

        return _sharedMySingletonArray;
    }

    return nil;
}
@end