Ios Can';在singleton中将对象添加到NSMutableArray

Ios Can';在singleton中将对象添加到NSMutableArray,ios,xcode6,singleton,nsmutablearray,Ios,Xcode6,Singleton,Nsmutablearray,我制作了一个单例,我正试图将对象添加到self.timelineArray,但我做不到。执行此操作时,我有9个对象: NSNumber* nmb = [[NSNumber alloc] initWithInt:1]; [self.dataManager.timelineArray addObject:nmb]; 插入nmb对象后,我仍然有9个对象 以下是我的单例标题(仅重要部分): 以下是我的单例实现(仅重要部分): 这只是简单的编码,我似乎不明白为什么它不起作用。我建议您添加如下内容 NSN

我制作了一个单例,我正试图将对象添加到
self.timelineArray
,但我做不到。执行此操作时,我有9个对象:

NSNumber* nmb = [[NSNumber alloc] initWithInt:1];
[self.dataManager.timelineArray addObject:nmb];
插入
nmb
对象后,我仍然有9个对象

以下是我的单例标题(仅重要部分):

以下是我的单例实现(仅重要部分):


这只是简单的编码,我似乎不明白为什么它不起作用。

我建议您添加如下内容

NSNumber* nmb = [[NSNumber alloc] initWithInt:1];
[[DataManager sharedInstance]timelineArray addObject:nmb];

这将始终添加到
单例
中,而不是
单例
实例

尝试修改不可变数组(NSArray)将导致此问题

替换
[responseobjectforkey:@“timeline”]
[[NSMutableArray alloc]initWithArray:[responseobjectforkey:@“timeline”]


这是基于对问题的评论。

是否有理由被否决?我不相信;这个问题问得很好。+1来反驳。你没有得到任何异常?代码中的任何地方“self.timelineArray”是否使用NSArray对象重新初始化?由于试图修改不可变对象而引发异常!“操作无效”几乎不可避免地是对零指针执行操作的结果。
#import "DataManager.h"

static DataManager* sharedInstance = nil;

@implementation DataManager

+ (DataManager *) sharedInstance{

    @synchronized(self)
    {
        if (sharedInstance == nil)
            sharedInstance = [[self alloc] init];
    }

    return sharedInstance;
}

- (id)init {

    if (self = [super init])
    {    
        self.timelineArray = [[NSMutableArray alloc] init];
    }
    return self;
}
NSNumber* nmb = [[NSNumber alloc] initWithInt:1];
[[DataManager sharedInstance]timelineArray addObject:nmb];