Estoy intentando usar CGPathApply para iterar sobre cada CGPathElement en un objeto CGPathRef (principalmente para escribir una forma personalizada de persistir en los datos de CGPath). El problema es que, cada vez que se llama a CGPathApply, mi programa falla sin ninguna información. Sospecho que el problema está en la función del aplicador, pero no puedo decirlo. Aquí está una muestra de mi código:Cómo usar CGPathApply correctamente
- (IBAction) processPath:(id)sender {
NSMutableArray *pathElements = [NSMutableArray arrayWithCapacity:1];
// This contains an array of paths, drawn to this current view
CFMutableArrayRef existingPaths = displayingView.pathArray;
CFIndex pathCount = CFArrayGetCount(existingPaths);
for(int i=0; i < pathCount; i++) {
CGMutablePathRef pRef = (CGMutablePathRef) CFArrayGetValueAtIndex(existingPaths, i);
CGPathApply(pRef, pathElements, processPathElement);
}
}
void processPathElement(void* info, const CGPathElement* element) {
NSLog(@"Type: %@ || Point: %@", element->type, element->points);
}
¿Alguna idea de por qué la llamada a este método aplicador parece estar constantemente? Cualquier ayuda es muy apreciada.
http://www.mlsite.net/blog/?p=1312 –
Eche un vistazo aquí, esta es una gran publicación sobre cómo usar CGPathApply correctamente: http://oleb.net/blog/2012/12/accessing-pretty-printing-cgpath-elements / –