我一直在尝试从核心图中显示几个CPTPieChart对象。前三个或第四个运行没有问题,但增加更多会导致严重的崩溃。
崩溃属于方法
-(void)drawInContext:(CGContextRef)theContext.
它试图调用[super drawInContext:theContext];并在那里崩溃。它在设备和模拟器上的同一个地方崩溃。
我认为这是因为它过早发布了一些内容,但我似乎无法找到它。
有什么建议吗?
以下是崩溃日志:
Thread 5 Crashed:
0 libobjc.A.dylib 0x3006bc98 objc_msgSend + 16
1 FinGame 0x00abc1ce -[CPTPieChart renderAsVectorInContext:] (CPTPieChart.m:399)
2 FinGame 0x00a9d08c -[CPTLayer drawInContext:] (CPTLayer.m:266)
3 FinGame 0x00a7fb04 -[CPTPlot drawInContext:] (CPTPlot.m:326)
4 QuartzCore 0x352a6d24 backing_callback(CGContext*, void*) + 32
5 QuartzCore 0x352a6776 CABackingStoreUpdate + 1226
6 QuartzCore 0x352a6178 -[CALayer _display] + 724
7 QuartzCore 0x352a5e86 -[CALayer display] + 134
8 QuartzCore 0x3529a706 CALayerDisplayIfNeeded + 178
9 QuartzCore 0x3529a1c6 CA::Context::commit_transaction(CA::Transaction*) + 214
10 QuartzCore 0x35299fd0 CA::Transaction::commit() + 184
11 QuartzCore 0x352ec1ee CA::Transaction::release_thread(void*) + 34
12 libsystem_c.dylib 0x32919b7c _pthread_tsd_cleanup + 156
13 libsystem_c.dylib 0x328edf78 _pthread_exit + 112
14 libsystem_c.dylib 0x328ef462 pthread_exit + 22
15 Foundation 0x3431f06e +[NSThread exit] + 10
16 Foundation 0x3439d5de __NSThread__main__ + 990
17 libsystem_c.dylib 0x328ee30a _pthread_start + 242
18 libsystem_c.dylib 0x328efbb4 thread_start + 0
答案 0 :(得分:0)
这是一个缺少“保留”的情况。一旦我添加了这个(以及必要的版本),它就是金色的。