我正在尝试将字符串添加到单个数组中的数组中

时间:2012-07-01 23:22:40

标签: ios singleton nsmutablearray

下面是我的单例中的代码,用于将字符串添加到数组中。第一个NSLog返回正确的字符串,但第二个NSLog不返回null。如果我需要添加任何相关代码,请告诉我。感谢。

 +(void) addArray:(NSString *)string
{
    NSLog(@"%@",string);

    Singleton *shared = [Singleton sharedManager];
    [shared.array addObject:string];

    NSLog(@"array: %@", shared.array);
}

我将此代码添加到我的singleton.m

- (id)init
{
    self = [super init];

    if (self) {
        // Work your initialising magic here as you normally would
        array = [[NSMutableArray alloc]init];
    }

    return self;
}

在我的程序的另一部分中,我运行此代码并打印出正确的信息

+(void) setPoints:(int) points
{
    Singleton *shared = [Singleton sharedManager];
    shared.points = points;
    NSLog(@"%d",shared.points);
}

这是我的Singleton方法

+ (Singleton *)sharedManager
{
    static Singleton *sharedInstance = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        sharedInstance = [[Singleton alloc] init];
        // Do any other initialisation stuff here
        array = [[NSMutableArray alloc]init];
    });
    return sharedInstance;
}

1 个答案:

答案 0 :(得分:0)

您可能忘记在Singleton init中使用alloc-init数组。