次のようなプロパティを持つクラスがあるとします。
@property(nonatomic,retain) NSString* un_conventional;
私は次のようにセレクターを形成しようとしました:
SEL setterMethod =
NSSelectorFromString(
[NSString stringWithFormat:@"set%@", [key capitalizedString]]
);
if ([customer respondsToSelector:setterMethod]) {
//do something
}
key
PS:値を持つ変数であることを当然のことと考えてくださいun_conventional
capitalizedString
問題は、これが正しい setter メソッドと一致しないことのようです。名前の代わりにsetterMethod
名前が付けられるためです... 文字 "c" も大文字です!setUn_Conventional
setUn_conventional
setUn_conventional
それで、名前付きのセレクターになり、respondsToSelector を介して一致するために使用できるように、そのようなシナリオのためにセレクターを動的に準備する方法について誰か提案がありますか?