我正在编写一个应用程序,它绘制了一个图形,并使用下面的方法返回这些点的数组。我有两个视图,每个视图显示不同的图,但两者都有相同的方法。无论使用哪个图表,当应用程序到达“NSArray *读取...”行时,应用程序都会崩溃。我无法弄清楚为什么,但我猜它可能与内存管理有关。有没有人有任何想法我怎么解决这个问题?
-(NSArray*)loadPoints{
Vehicle *vehicle = [DataModel theDataModel].currentVehicle;
NSArray *readings = [(NSArray*)vehicle.rVehicleMileage autorelease];
NSSortDescriptor *descriptor = [[[NSSortDescriptor alloc] initWithKey:@"dteDate" ascending:NO] autorelease];
readings = [readings sortedArrayUsingDescriptors:[NSArray arrayWithObject:descriptor]];
return readings;
}
谢谢, 威廉
答案 0 :(得分:4)
NSArray *readings = [(NSArray*)vehicle.rVehicleMileage autorelease];
你不应该在你不拥有的某个对象上调用-autorelease
。删除-autorelease
,它应该正确运行。