if(!isPaused)
{
array = [[NSMutableArray alloc] init];
[filter addAcceleration:acceleration];
[unfiltered addX:acceleration.x y:acceleration.y z:acceleration.z];
NSNumber *number = [[NSNumber alloc] initWithDouble:acceleration.x];
[array addObject:number];
++a;
if (a == 30) // only check the # objs of mutablearray
{
sleep(2);
}
[filtered addX:filter.x y:filter.y z:filter.z];
}
答案 0 :(得分:3)
看起来你错过了某种循环。您在上面列出的代码:
我的猜测是整个if {}块位于某种循环中。你需要在循环之外分配和初始化可变数组。
答案 1 :(得分:1)
每次输入if
块时都会创建一个新数组,因此addObject:
只会将对象添加到最近创建的数组中。
此外,您正在泄漏array
和number
个对象。每次分配对象时,您都有责任释放它。确保您熟悉memory management programming guide中列出的准则。