0

クラスの関数 (例: FillArray() ) が呼び出されたときに初期化される配列を作成したいと考えています。関数 FillArray() が呼び出されることはありません。

この配列が初期化されたら、クラスの他のすべてのオブジェクトでこの配列を使用できるようにしたいと考えています。

どうやってやるの。よろしくお願いします

4

2 に答える 2

1

このように静的配列を宣言するだけです!

static NSMutableArray *staticArray = nil;

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

そして、あなたがそれを必要としないとき!リリースすることを忘れないでください!

void FreeArray() {
    [staticArray release];
    staticArray = nil;
}
于 2012-11-30T06:50:58.917 に答える
0

静的/共有/グローバルにします。

@implementation MySingleton static NSMutableArray *_sharedMySingletonArray = nil;

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

        return _sharedMySingletonArray;
    }

    return nil;
}
@end
于 2012-11-30T06:43:27.460 に答える