모달 동작을 피하기 위해 사용자가 실행중인 CABasicAnimation
을 인터럽트 할 수 있도록 허용하고이 응용 프로그램의 컨텍스트에서 사용자의 동작은 기존 CALayers
은 더 이상 존재하지 않아야합니다. 나는 ARC를 사용하지 않고있다. (어쩌면 그건 내 문제이지만,이 옛날 학교의 질문을 감당할 수있다.)CAAnimation은 출시 된 CALayer에서 콜백을 실행합니다. - Mac OS X
사용자가 활성 CALayers
그룹에 대해, 조치를 취 내가 이렇게 :
for(CALayer *c in layerArray){
[c removeAllAnimations];
[c removeFromSuperlayer];
[c release];
}
[layerArray removeAllObjects];
(좋든 나쁘 든,이 아니라, 저를 믿어 오버 릴리스 CALayers
의). 이 루틴에서 돌아와 시스템에 다시 제어권을 주면 시스템은 내부 OS 루틴 run_animation_callbacks를 호출하여 제거되고 해제 된 CALayers
중 하나 인 좀비에게 메시지를 보내려고하기 때문에 충돌합니다. [c removeAllAnimations]
은 OS에 해당 객체에 대한 콜백 실행을 중지하도록하는 데 충분한 이유가 무엇입니까?
감사합니다.