我写了一个代码:
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];