6

で十分NSMethodSignatureです。次に、+ (NSMethodSignature *)instanceMethodSignatureForSelector:(SEL)aSelectorNSObjectNSInvocation+ (NSInvocation *)invocationWithMethodSignature:(NSMethodSignature *)signature

これが問題です。インスタンスのメソッド シグネチャしか取得できません。クラス メソッドはどうでしょうか。

4

2 に答える 2

7

クラスメソッドは次の方法で取得できます。

NSMethodSignature *pMS = [[YourObject class] methodSignatureForSelector: (SEL)aSelector];

フラグメント[YourObject class]は、クラスオブジェクト(シングルトン)のインスタンスを返します。このインスタンスを使用して、クラスメソッドを取得できます。

追加:以下のコメントからの新しい情報。次のことを行うことができます。

NSMethodSignature *pMS = [YourObject methodSignatureForSelector: (SEL)aSelector];
于 2012-09-21T03:15:44.710 に答える