0

クラス名がファイルから(動的に)取得される別のクラスに、あるクラスからメソッドを呼び出す必要があります

例:

  1. Source1.h/Source1.m という名前のファイルがあります (どちらも目的の C クラス ファイルです)。
  2. 別のファイル名 Source2.h/Source2.m があります (どちらも目的の C クラス ファイルです)

Source2 クラス ファイルからメソッドを呼び出すことができます。しかし、「Source2」という名前はテキスト ファイルから取得され、呼び出し先のメソッドは私が知っています。したがって、未知のクラスファイルからメソッドを呼び出すにはどうすればよいですか。

例えば:

unknownClassName *a = [[unknownClassName alloc] init];
[self a];

私はメソッド「a」を知っています。ただし、unknownClassName実行時にテキスト ファイルから取得されます。

このようにすることは可能ですか?

4

1 に答える 1

1

これなら使えると思います

id unknownClassObject = [[NSClassFromString(@"unknownClassName") alloc] init];
[unknownClassObject a];
于 2012-12-18T09:20:04.747 に答える