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];