2011-07-28 10 views
0

yArrayに値を追加しようとしています。しかし、NSLogでは、常にnullが表示されます。 NSMutableArray(yArray)を合成していて、コンパイル時にエラーや警告が出ない。私は1つの理由は、私は配列を初期化していないと思うと思う。 @synthesizeが初期化されていない場所を読んでいます。しかし、私は初心者であり、配列を適切に初期化する方法がわかりません。私はGoogleでそれを研究したが、それを把握できなかった。誰かが私にどのように正しい方向に向けるか、少なくとも私に指摘することができますか?私は以下のコードの一部を投稿しました。前もって感謝します。正しく配列がaddObjectを使用するとNSMutableArrayがnullを返します

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

を使用し初期化するために

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

を再試行し、(多分init法またはそのような何かに)それを使用する前に初期化します。完了したら手動でリリースすることを忘れないでください。

+0

ありがとうございました。私はかなり愚かな感じ、それは私が文を指摘する誰かが必要だと思われる self.yArray = [[NSMutableArray alloc] init]; は、配列の初期化を意味します。 – John

0

addObjectコードの前にヒットする場所で最初に初期化してください。例えば

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

ご返信ありがとうございます。これは本当に私に多くの時間を節約しました。以来、私は初期化という言葉では無知だった。初期化を意味することを知らなかった。 – John

関連する問題