我需要一些关于如何解决这个问题的专家建议。我正在为 iPad 的新应用程序做一些粗略的测试。
通过加载在另一个应用程序中创建的 plist 文件,我在视图控制器的 viewDidLoad 中创建了一个 NSMutableArray (ballPath)(它在我的 .h 文件中声明)。
ballPath = [[NSMutableArray alloc] initWithCapacity:1000];
NSString *path=[[NSBundle mainBundle] pathForResource:@"level_1" ofType:@"plist"];
ballPath = [NSKeyedUnarchiver unarchiveObjectWithFile:path];
该数组现在包含许多 CGPoints(由其他应用程序存储为 NSValues 并存档)。
然后我绘制路径(仍在我的 viewDidLoad 中),它工作正常,所以路径应该工作正常。
当我稍后想要读取数组作为对加速度变化的响应时,我得到一个 EXC_BAD_ACCESS。当我调试并查看我的数组时,它看起来像这样:
我测试并用这个替换加载的数组(也在 viewDidLoad 中):
ballPath = [[NSMutableArray alloc] initWithObjects:
[NSValue valueWithCGPoint:CGPointMake(100.0, 100.0)],
[NSValue valueWithCGPoint:CGPointMake(100.0, 200.0)],
[NSValue valueWithCGPoint:CGPointMake(100.0, 300.0)],
[NSValue valueWithCGPoint:CGPointMake(100.0, 400.0)],
[NSValue valueWithCGPoint:CGPointMake(125.0, 450.0)],
[NSValue valueWithCGPoint:CGPointMake(150.0, 500.0)],
[NSValue valueWithCGPoint:CGPointMake(300.0, 600.0)],
[NSValue valueWithCGPoint:CGPointMake(350.0, 550.0)],nil];
然后它工作得很好!
我在这里想念什么???
我在 Xcode 4.0.2 上,我的目标是 iOS 4.3。