1. ホーム
  2. iphone

文字列でメソッドを動的に呼び出すObjective C

2023-12-20 15:41:33

質問

私はちょうど私が文字列でその場でメソッドの名前を構築するメソッドを呼び出す方法があるかどうか疑問に思っています。

例:loaddataというメソッドがあります。

-(void)loadData;

を呼び出す場合、通常は次のように呼び出します。

[self loadData];

しかし、例えば文字列で動的に呼び出すことができるようにしたいのです。

NSString *methodName = [[NSString alloc] initWithString:@"loadData"];
[self methodName];

これは愚かな例ですが、私の言いたいことが伝われば幸いです。私は自分のIPadアプリケーションのためにセットアップしているデータバインドクラスにこれを使用しています。説明するのは難しいのですが、発火させるために、文字列でメソッドを呼び出す方法を見つけ出す必要があります。

何かアイデアはありますか?

ありがとうございます。

どのように解決するのですか?

次のような方法を試してみてください。

SEL s = NSSelectorFromString(selectorName);
[anObject performSelector:s];