我真的不知道一个解决方案,甚至不知道一个想法来绕过下面的失败。它只在设备上的Release配置中发生- Simulator和Debug配置工作正常。它也只在第二次发射时出现。因此,如果我将手机连接到我的mac上,构建并运行应用程序,一切都会正常工作。如果我关闭应用程序并重新启动,它就会崩溃。经过长时间的搜索,错误似乎来自于下面这行:
x.majorIntervalLength = CPDecimalFromFloat(2.0f); 前面的代码:
CPLayerHostingView *chartView = [[CPLayerHostingView
alloc] initWithFrame:CGRectMake(0, 0, 320, 160)];
[self addSubview:chartView];
// create an CPXYGraph and host it inside the view
CPTheme *theme = [CPTheme themeNamed:kCPPlainWhiteTheme];
CPXYGraph *graph = (CPXYGraph *)[theme newGraph];
chartView.hostedLayer = graph;
graph.paddingLeft = 20.0;
graph.paddingTop = 10.0;
graph.paddingRight = 10.0;
graph.paddingBottom = 20.0;
CPXYPlotSpace *plotSpace = (CPXYPlotSpace *)graph.defaultPlotSpace;
plotSpace.xRange = [CPPlotRange
plotRangeWithLocation:CPDecimalFromFloat(0)
length:CPDecimalFromFloat(100)];
plotSpace.yRange = [CPPlotRange
plotRangeWithLocation:CPDecimalFromFloat(0)
length:CPDecimalFromFloat(10)];
CPXYAxisSet *axisSet = (CPXYAxisSet *)graph.axisSet;
CPXYAxis *x = axisSet.xAxis;
x.majorIntervalLength = CPDecimalFromFloat(2.0f); 如果我注释最后一行,一切正常(当然,间隔长度不正确)。如果有任何帮助,我将不胜感激!提前感谢!
发布于 2010-06-04 07:48:45
有没有可能CPXYAxis *x = axisSet.xAxis;是一个nil或不保留的x?它没有被检查。
https://stackoverflow.com/questions/2967786
复制相似问题