Cocoa API解説(macOS/iOS)

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。

目次

numberOfArguments

メソッドシグネチャが持つ引数の数を返します

解説

メソッドシグネチャが持つ引数の数を返します。
引数の番号は常に0がself、1が_cmdとなっています(デバッガで表示される通りです)ので、番号2以降が通常使う番号となります。(selfはオブジェクト、_cmdはメソッド)
引数を持たないメソッドが返す値は2になります。引数を1つ持つメソッドが返す値は3になります。

返り値

( unsigned int )

整数値

引数

クラス

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