0
我正在混淆有关的NSMutableArray ADDOBJECT,我尽量让共享实例nsmutable数组是这样的:NSMutableArray的共享实例总是返回刚刚过去的对象
1.Shared例如
+ (netra*)someInstance
{
if (sharedObject == nil) {
sharedObject = [[super allocWithZone:NULL] init];
}
return sharedObject;
}
1.1方法插入
+(void) setStock:(NSInteger *)stock{
// Ensure we are using the shared instance
netra *shared = [netra sharedInstance];
[shared.stockInits addObject:stock];
}
1.3方法调用的NSMutableArray
+(NSMutableArray *) getStock{
// Ensure we are using the shared instance
netra *shared = [netra sharedInstance];
return shared.stockInits ;
}
2.Method插入
-(void) some{
for(int x=0;x<=1000;x++){
[netra setStock:i];
}
}
3.方法从其他控制器
for (int x=0; x<=[netra getStock].count;x++){
nslog (@"i-------->%d",x);
}
日志应显示0-1000正确调用???但为什么它总是返回1000 ...... 1000?我的代码中有任何错误吗?
嗯很好的答案,但为什么我不能从其他类迭代nsmutablearray ..如果我数它,它返回正确的长度..然后它已经插入nsmutablearray对不对?但为什么只是最后的记录显示?是那个nsmutable数组重置内容,而我打电话setStock?或其他原因? –
因为有一些候选人,所以我不确定哪些代码会引起怪异的行为。我将编辑答案以改进它。 –
嗯,谢谢!但它仍然给我很大的神秘;)以及如果该数据不是nsnumber?如果数据是我想要将其绘制到tableview中的nsdictionary,该怎么办? –