错误:CGContextSetStrokeColorWithColor: invalid context 0x0

CGContextSetStrokeColorWithColor: invalid context 0x0.

1.报错名称 : CGContextSaveGState: invalid context 0x0.  CGContextDrawPath: invalid context 0x0.等。我这里编译时并没有报错也无警告,直到运行时才在控制台打印了一系列的信息 如下图(错误信息)


错误信息

出现这类错误的原因是没有在 view 的 -drawRect:  方法中对 layer 进行了不适当的操作 例如 UIBezierPath 的 - (void)setFill; - (void)setStroke; 方法  UIColor 的 - (void)setFill; - (void)setStroke;方法 等。

2.解决方法

(1).把有关于 view layer 层的操作单独封装到一个 view 类的 -drawRect: 方法中

(2).不要调用 相关的方法 ,官方一般都给了注释,com+单击 就可查看:如下图(官方给定的限制->drawing context)


官方给定的限制->drawing context


你可能感兴趣的:(iOS开发错误汇总)