macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

invokeWithTarget:

INDEX>Foundation>NSInvocation

セットされているターゲットと別のターゲットにメッセージを送信します
-(void)invokeWithTarget:(id)anObject:

解説

起動オブジェクトにセットされているターゲットと別のターゲットにメッセージを送信します。
anObjectは、セットされているターゲットではいけません。
このメソッドが呼び出される前に、セレクタと引数をセットしておかないといけません。

返り値

( void )

なし

引数

( id )anObject

メッセージを送信するオブジェクト

クラス

NSInvocation

Instance Methods

使用可能

10.0
iOS2.0

例文

#import "MyObject.h"
@implementation MyObject

- (IBAction)myAction:(id)sender
{
	//メソッドシグネチャ
	NSMethodSignature *aSignature ;
    
	//起動オブジェクト
	NSInvocation *invocation ;
	
	//セレクタをセット
    SEL aSelector  = @selector( timerControl );
	
	//セレクタのシグネチャをセット
    aSignature = [ self methodSignatureForSelector:aSelector ];
	
	//起動オブジェクトをセット
    invocation = [ NSInvocation invocationWithMethodSignature:aSignature ];    
	
	//ターゲットはself
	[ invocation setTarget: self ];
    
	//セレクタをセット
	[ invocation setSelector: aSelector ];
    
	//起動する
	[ invocation invoke ];
	
	//別のターゲット(別のインスタンス)
    [ invocation invokeWithTarget:otherObject];

}

-(void) timerControl{
NSLog([self className]);
}

@end