プロパティ(正確には、)を公開して、他のオブジェクトとバインドできるようにするNSView
サブクラスがあります(プログラムでメソッドを使用)。NSGradient
bind:toObject:withKeyPath:options:
どのような手順を踏む必要がありますか?
これが私がしたことです:
+(void)initalize {
[self exposeBinding:@"gradient"];
}
- (Class)valueClassForBinding:(NSString*)binding {
if ([binding isEqualToString:@"gradient"]) { return([NSGradient class]); }
return(nil);
}
-(NSArray*)exposedBindings {
return([NSArray arrayWithObjects:@"gradient",nil]);
}
バインディングがInterfaceBuilderに表示されなくてもかまいません。はでgradient
実装されたプロパティで@property (nonatomic, retain) NSGradient* gradient
あり、現在の実装で正常に機能しています。
それを実装するには、上記のコードだけが必要ですか?(簡単すぎるようです)何かが足りないと思います。
注:私はBindingsの専門家ではありませんが、Objective-Cのほとんどでうまくやっています。