この問題は本当に私を困惑させました...
UIPanGestureRecognizer を使用する iPad プロジェクトがあり、handlePanGesture 内で次のメソッド呼び出しを使用しています。
- (AIEnemyUnit *) hitTestForEnemyUnit:(CGPoint)where {
CALayer * layer = [self hitTest:where];
while (layer) {
if ([layer isKindOfClass:[AIEnemyUnit class]]) {
return (AIEnemyUnit *)layer;
} else {
layer = layer.superlayer;
}
}
return nil;
}
AIEnemyUnit レイヤーを「見つけ」たら、ドラッグを続行すると、すべて正常に動作します。6 番目から 10 番目の "ドラッグ" 付近を除いて、CALayer -hitTest の奥深くでデバッガーがクラッシュします。
modifying layer that is being finalized - 0x124530
*** -[NSCFSet hitTest:]: unrecognized selector sent to instance 0x124530
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason:
'*** -[NSCFSet hitTest:]: unrecognized selector sent to instance 0x124530'