CALayerとCAAnimationはCore Animation Extensions To Key-Value Codingで説明されているようにNSKeyValueCodingプロトコルを拡張するだけでなく、実装されていないプロパティアクセサにも動的解決を提供することがわかりました。たとえば:プロパティ宣言で単純実装されていないプロパティアクセサのCALayerとCAAnimationの動的解決
@interface DotLayer : CALayer
@property (nonatomic, retain) id dot;
@end
@implementation DotLayer
@dynamic dot;
@end
、それは@dynamicである旨、私はそのアクセサを実装せずドットプロパティにアクセスすることができます
DotLayer *layer = [DotLayer layer];
NSLog(@"layer responds to dot: %d", [layer respondsToSelector:@selector(dot)]);
layer.dot = nil;
NSLog(@"%@", [layer dot]);
さらに調査した後、私はこれを見つけました動的解像度は、CALayerとCAAnimationの特別な実装である+ resolveInstanceMethod:によって行われます。
WWDC 2010のImageBrowserサンプルコードでこの動的解像度を使用していましたが、この機能についての説明が見つかりません。だから私は疑問に思っています:
この動的解像度は、私自身のコードで使用できる規定された動作ですか?