0

私はこれをやっています:

  for(int k=0;k<[dataWord count];k++)
     {
         NSNumber *num=[NSNumber numberWithInt:2] ;
         [preDataWord insertObject:num atIndex:k ];
     }

preDataWordの前にが割り当てられるとき。

後でこの配列を使おうとすると、すべてゼロになります。何故ですか?保持する必要がありますか?どのように?

編集: 私の初期化 では、クラスインターフェイスで宣言されているpreDataWord=[[NSMutableArray alloc]init]; 場所があります。preDataWordこのクラスは別のスレッド(オーディオユニット)で実行されています。forループの直後に配列をログに記録すると、その完全で問題のないことがわかります。後で別の関数がそれを使おうとすると、彼女は0...を見ます。

4

1 に答える 1

1

preDataWord ivarを見ずに、最初にそれが正しく宣言され、割り当てられていることを確認します。

//creates empty mutable array ...
NSMutableArray preDataWord = [NSMutableArray array]; 

そして、forループ内で、次のようにNSNumberオブジェクトをpreDataWordに追加します。

[preDataWord addObject:num];
于 2012-11-03T13:02:01.130 に答える