establezca la variable de entorno CG_CONTEXT_SHOW_BACKTRACE

A pesar de haber revisado más de 3 publicaciones (hechas en 2015) sobre este problema, no he resuelto el mío.

Cada vez que ejecuto, un código simple para dibujar una línea usando UIBezierPath el programa me devolvería esto:

: CGContextSetStrokeColorWithColor: contexto no válido 0x0. Si desea ver la traza inversa, configure la variable de entorno CG_CONTEXT_SHOW_BACKTRACE.

: CGContextSetFillColorWithColor: contexto no válido 0x0. Si desea ver la traza inversa, configure la variable de entorno CG_CONTEXT_SHOW_BACKTRACE.

: CGContextSaveGState: contexto no válido 0x0. Si desea ver la traza inversa, configure la variable de entorno CG_CONTEXT_SHOW_BACKTRACE.

: CGContextSetLineWidth: contexto no válido 0x0. Si desea ver la traza inversa, configure la variable de entorno CG_CONTEXT_SHOW_BACKTRACE.

: CGContextSetLineJoin: contexto no válido 0x0. Si desea ver la traza inversa, configure la variable de entorno CG_CONTEXT_SHOW_BACKTRACE.

: CGContextSetLineCap: contexto no válido 0x0. Si desea ver la traza inversa, configure la variable de entorno CG_CONTEXT_SHOW_BACKTRACE.

: CGContextSetMiterLimit: contexto no válido 0x0. Si desea ver la traza inversa, configure la variable de entorno CG_CONTEXT_SHOW_BACKTRACE.

: CGContextSetFlatness: contexto no válido 0x0. Si desea ver la traza inversa, configure la variable de entorno CG_CONTEXT_SHOW_BACKTRACE.

: CGContextAddPath: contexto no válido 0x0. Si desea ver la traza inversa, configure la variable de entorno CG_CONTEXT_SHOW_BACKTRACE.

: CGContextDrawPath: contexto no válido 0x0. Si desea ver la traza inversa, configure la variable de entorno CG_CONTEXT_SHOW_BACKTRACE.

: CGContextRestoreGState: contexto no válido 0x0. Si desea ver la traza inversa, configure la variable de entorno CG_CONTEXT_SHOW_BACKTRACE.

@interface line : UIView
UIBezierPath *myPath;
.........
@implementation
- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches]anyObject];
CGPoint touchLocation = [touch locationInView:self];
myPath = [UIBezierPath bezierPath];
[myPath moveToPoint:touchLocation];
}
- (void) touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches]anyObject];
CGPoint touchLocation = [touch locationInView:self];
[myPath addLineToPoint:touchLocation];
[[UIColor blackColor]setStroke];
[[UIColor greenColor]setFill];
[myPath stroke];
}

Si tuviera que dibujar usando drawRect

- (void) drawRect:(CGRect)rect {
....
}

No aparecerá ningún error. Me preguntaba si estaba recibiendo estos errores porquetouchesBegan ytouchesMoved no puede realizar el dibujo?

En cacao (OS X) solía usarsetNeedsDisplay, pero no existe en el toque de cacao.

Todo lo que pregunto es si hay alguna forma de eliminar estos errores o hay otra forma de dibujarUIBezierPath durante el tiempo de ejecución.

Respuestas a la pregunta(1)

Su respuesta a la pregunta