2011-07-28 64 views
0

我試圖給yArray添加值。但是在NSLog中,它總是顯示爲空。我正在合成NSMutableArray(yArray),並且在編譯時不會出現錯誤或警告。我相信一個原因可能是我沒有初始化數組。我讀了@synthesize不初始化的地方。然而,我是一個初學者,我不知道如何正確初始化數組。我在谷歌上研究過它,但無法弄清楚。有人能告訴我如何或至少指出我在正確的方向嗎?我在下面發佈了我的部分代碼。先謝謝你。當使用addObject時,NSMutableArray爲null

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

回答

1

爲了正確地初始化數組使用

NSMutableArray* yArray = [[NSMutableArray alloc] init]; 

使用它(也許在init方法或類似的東西)之前,初始化它,然後重試。不要忘記在完成後手動釋放它。

+0

非常感謝。我覺得很愚蠢,似乎我需要有人指出,聲明 self.yArray = [[NSMutableArray alloc] init]; 表示初始化數組。 – John

0

只需在您的addObject代碼之前將要命中的位置初始化它。例如

yArray = [[NSMutableArray alloc] init]; 
+0

非常感謝您的回覆。這真的爲我節省了很多時間。因爲,我對初始化這個術語一無所知。不知道這是否意味着初始化。 – John

相關問題