Cocoa API解説(macOS/iOS)

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

目次

targetForAction:to:from:

INDEX>AppKit>NSApplication

アクションメッセージを受けるオブジェクトを返します

Objective-C

- (id)targetForAction:(SEL)anAction
                   to:(id)aTarget
                 from:(id)sender

Swift

func targetForAction(_ anAction: Selector,
                  to aTarget: AnyObject?,
                from sender: AnyObject?) -> AnyObject?

解説

アクションメッセージ(theAction)を受けるオブジェクトを返します。

返り値

Objective-C

( id )

Swift

AnyObject?

オブジェクト

引数

Objective-C

( SEL )theAction

Swift

_ anAction: Selector

アクション

( id )theTarget

Swift

to aTarget: AnyObject?

ターゲット

( id )sender

Swift

from sender: AnyObject?

送信オブジェクト

フレームワーク

ApplicationKit

クラス

NSApplication

使用可能

10.0

編集時のバージョン

10.10

例文

#import "Controller.h"

@implementation Controller

- (IBAction)pushButton:(id)sender
{
	
	NSLog ([[NSApp targetForAction:@selector(hide:) to:self from:sender ] className]);
	
}
@end

Swift

//NSApplication targetForAction:to:from
    @IBAction func function058(sender: AnyObject) {
        //共有アプリケーションインスタンスを取得
        let anApplication = MyApplication.sharedApplication()
        //このインスタンスの関数function058:を動かしてみる
        var result:AnyObject? = NSApp.targetForAction(Selector("methodFromFunction058"),
            to : self,
            from: self)
        //表示用
        if ((result) != nil){
            NSLog("obj = %@",result!.description)
            //->obj = <NSApplication.AppDelegate: 0x60800028b130>
            //関数の戻り値には関係なく関数のオブジェクトが返される
        }
    }
    func methodFromFunction058()-> AnyObject {
        NSLog("methodFromFunction058")
        //共有アプリケーションインスタンスを取得
        let anApplication = MyApplication.sharedApplication()
        let windowArray :Array = anApplication.windows
        
        return windowArray
    }