0

我正在这样做:

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

之前preDataWord分配的时间。

后来当我尝试使用这个数组时,我得到了全零。这是为什么?我必须保留它吗?如何?

编辑: 在我的初始化中,我 在类接口中声明了preDataWord=[[NSMutableArray alloc]init]; where 。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 回答