我正在尝试为yArray添加值。但是在NSLog中,它总是显示为null。我正在合成NSMutableArray(yArray)并且在编译时没有得到任何错误或警告。我相信一个原因可能是我没有初始化阵列。我在某处读到@synthesize没有初始化。但是,我是初学者,我不知道如何正确初始化阵列。我在谷歌上研究了它,但无法弄明白。有人能告诉我如何或至少指出我正确的方向。我在下面发布了我的部分代码。提前谢谢。
for (int i = 0; i < n; ++i)
{
xx = xx + [[self.yArr1 objectAtIndex:i] doubleValue];
}
for (int i = 0; i < n; ++i)
{
if(i==0)
[self.yArray addObject:[NSNumber numberWithDouble:(0.0)]];
else
{
bb = fabs([[self.yArr1 objectAtIndex:i] doubleValue]- [[self.yArr1 objectAtIndex:(i-1)] doubleValue]);
[self.yArray addObject:[NSNumber numberWithDouble:(bb)]]; // This is the problem.
yy = yy + [[self.yArray objectAtIndex:i] doubleValue];
}
NSLog(@"prediction %f, %f, %@, %f", bb, yy, [self.yArray objectAtIndex:i],[[self.yArr1 objectAtIndex:i] doubleValue]);
}
NSLog(@"prediction %f, %f", bb, yy);
答案 0 :(得分:1)
要正确初始化数组,请使用
NSMutableArray* yArray = [[NSMutableArray alloc] init];
在使用它之前初始化它(可能在init
方法或类似的东西中),然后重试。完成后不要忘记手动释放它。
答案 1 :(得分:0)
首先在您的addObject
代码之前的某个位置初始化它。 e.g。
yArray = [[NSMutableArray alloc] init];