我写了一个代码:

    int SIZE= 516;
NSMutableArray  *sensorData, *sensorDataX,....,= [NSMutableArray arrayWithCapacity:SIZE];
NSString *strSensorData = [NSString stringWithFormat:@"%.6f %.6f %.6f %.6f ", deviceMotion.timestamp, deviceMotion.userAcceleration.x, deviceMotion.userAcceleration.y, deviceMotion.userAcceleration.z];
NSString *strSensorDataX = [NSString stringWithFormat:@"%.6f %.6f ", deviceMotion.timestamp, deviceMotion.userAcceleration.x];
[sensorData addObject:strSensorData];
[sensorDataX addObject:strSensorDataX];


当我用以下方法检查它时:

NSLog(@"Data : %@ ", sensorDataX   );


我只是(空)。即使这样:

NSLog(@“ Data:%@”,strSensorDataX)

它给出正确的数组。
有人知道为什么吗?

谢谢

最佳答案

我只是自己尝试过,看来您无法以一种尝试的方式在一个语句中初始化多个对象。组中只有一个对象似乎实际上已初始化(在我的测试中为最后一个),而其他对象则保持为零。将数组初始化拆分为单独的语句,它应该可以正常工作。

NSMutableArray *sensorData = [NSMutableArray arrayWithCapacity:SIZE];
NSMutableArray *sensorDataX = [NSMutableArray arrayWithCapacity:SIZE];

10-02 13:22