CAAction
프로토콜은 제대로 문서화되지 않은 것으로 보이며 책과 블로그에는 거의 언급되지 않았습니다. 그것의 유일한 방법을위한 논쟁, runActionForKey:object:arguments:
는, 조금 신비하다. 내 경험상, "객체"인수는 항상 CALayer
인 것처럼 보이고 "인수"사전은 항상 nil
입니다.CAAction의 runActionForKey : object : arguments : 인수에는 어떤 값을 사용할 수 있습니까?
프로토콜이 Core Animation의 여러 위치에서 사용되도록 설계된 것 같습니다. 그렇지 않으면 레이어 인수의 유형을 정의하지 않는 이유와 사용되지 않는 추가 사전이있는 이유는 무엇입니까? 하지만 알 수있는 한, CALayer
과 함께 사용됩니다. 그 맞습니까? 위의 결론이 사실이 아닌 사례가있는 사람이 있습니까?
감사합니다, @ 매트를. 나는 당신의 책을 가지고 있고, 나는 이미 그것을 읽었습니다. (지난 주이 장에서 많은 시간을 보냈습니다!) 검색 메커니즘에 연결하는 방법을 이해합니다. 필자가 언급 한 이상한 점을 감안할 때, 프로토콜의 설계와 사용법을 이해하려고 노력했습니다. 나는 블록을 사용하여'CAAction'을 생성하기위한 래퍼 (wrapper)를 만들고 가능한 경우 인터페이스를 단순화하기를 원했습니다. –
@matt에게도 감사합니다.하지만 Ch 17에서 두 가지 오류/누락이 있다고 생각합니다. 액션 검색에 연결. Nil을 반환해도 애니메이션이 비활성화되지 않습니다. [1.2] (https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreAnimation_guide/ReactingtoLayerChanges/ReactingtoLayerChanges)에 따라 검색이 계속됩니다. html # // apple_ref/doc/uid/TP40004514-CH7-SW2). NSNull을 반환하면 검색을 중단하지만 (1.3). 두 번째로, 트리거는 KVC 속성에도있을 수 있습니다 (애니메이션 가능하지 않은 경우에도 동일한 링크). –
@chrisco 검색 결과가 책의 최신판에 정확하게 설명되어 있다고 생각합니다. KVC를 사용하여 검색을 시작하는 것에 대해 감사드립니다. 아직 다른 에디션이 있다면 추가해 보겠습니다. – matt