メソッドシグネチャが持つ引数の数を返します
解説
メソッドシグネチャが持つ引数の数を返します。
引数の番号は常に0がself、1が_cmdとなっています(デバッガで表示される通りです)ので、番号2以降が通常使う番号となります。(selfはオブジェクト、_cmdはメソッド)
引数を持たないメソッドが返す値は2になります。引数を1つ持つメソッドが返す値は3になります。
返り値
( unsigned int )
整数値
引数
フレームワーク
Foundation
クラス
NSMethodSignature
Instance Methods
使用可能
10.0
参照
例文
#import "MyObject.h" @implementation MyObject - (IBAction)myAction:(id)sender { id aSignature ;//シグネチャ id invocation ;//起動オブジェクト SEL aSelector ;//アクションセレクタ aSelector = @selector( timerControl );//アクションセレクタをセット aSignature = [ self methodSignatureForSelector:aSelector ];//セレクタのシグネチャをセット invocation = [ NSInvocation invocationWithMethodSignature:aSignature ];//起動オブジェクトをセット [ invocation setTarget: self ];//ターゲットはself [ invocation setSelector: aSelector ];//セレクタをセット [ invocation invoke ];//起動する NSLog([NSString stringWithFormat:@"%u",[[invocation methodSignature] numberOfArguments]]); } -(void) timerControl{ NSLog(@"..."); } @end