我很困惑为什么我的应用程序因此错误而崩溃。
我已经实现了 displayLayer 方法(用于渲染 CALayer)。这种方法第一次运行时一切正常。但是随后的调用是发生错误的时候。
当 self.bgColor 设置为上下文填充颜色时,似乎会发生错误。有趣的是...如果我在该行之前创建 bgColor,一切正常。但就目前而言,bgColor 是在初始化此类(displayLayer 方法的容器)时创建的。
-(void)displayLayer:(CALayer *)caLayer
{
UIGraphicsBeginImageContext(caLayer.frame.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, self.bgColor);
CGContextFillRect(context, CGRectMake(0, 0, 320, 25));
[self drawText:context];
// get image buffer
UIImage *imageBuffer = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
// set layer contents to image buffer
caLayer.contents = (id)[imageBuffer CGImage];
}