CGPathApply を使用して、CGPathRef オブジェクト内の各 CGPathElement を反復処理しようとしています (主に、CGPath データを永続化するためのカスタム方法を作成するため)。問題は、CGPathApply を呼び出すたびに、プログラムが何の情報もなくクラッシュすることです。問題はアプライヤー関数にあると思われますが、わかりません。これが私のコードのサンプルです:
- (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);
}
このアプライヤーメソッドの呼び出しがクラッシュしているように見える理由について何か考えはありますか? どんな助けでも大歓迎です。