アプリ版:「スタンプのみでお礼する」機能のリリースについて

Objective-cで、rubyの__send__みたいな使い方がしたいです。

例えば以下のようなインターフェィスのクラスがあるとします。
@interface Hoge : NSObject {
}
- (NSString*)retA;
- (NSString*)retB;
@end

ある条件によって、このクラスのメソッドの呼び別けたいです。
そこで以下のように書いたのですが、コンパイルが通りませんでした。
Hoge* hoge = [[Hoge alloc] init];
NSLog(@"%@",[hoge sw ? retA : retB]);

rubyだとこんな感じです。
hoge.__send__(sw ? "retA" : "retB")

ご指導のほど、宜しくお願いいたします。

A 回答 (1件)

objc_msgSend()や-performSelector:とかありますけど、なんかそこに踏み入るのはまだ早いような。



[hoge ret: sw]
みたいな、分かりやすくて確実な書き方を覚えてゆくほうが良いのでは。
    • good
    • 0
この回答へのお礼

osamuyさん、ご回答有りがとうございました。

お礼日時:2010/02/10 02:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!