registerServicesMenuSendTypes:returnTypes:
送信タイプとリターンタイプでサービスメニューを登録します
- (void)registerServicesMenuSendTypes:(NSArray *)sendTypes returnTypes:(NSArray *)returnTypes
func registerServicesMenuSendTypes(_ sendTypes: [AnyObject],
returnTypes returnTypes: [AnyObject])
解説
送信タイプとリターンタイプでサービスメニューを登録します。
サービスリクエストでレシーバーが送受信できるペーストボードタイプを登録します。
レシーバーがサービスメニューを持つならば、送信タイプとリターンタイプでメニューアイテムが追加されます。
返り値
なし
引数
( NSArray * )sendTypes_ sendTypes: [AnyObject]アプリが送信することができるそれぞれ対応する特定のペーストボードタイプを表すNSStringオブジェクトの配列
( NSArray * )returnTypesreturnTypes returnTypes: [AnyObject]戻ってくるペーストボードのタイプの配列
フレームワーク
ApplicationKit
クラス
NSApplication
使用可能
10.0
編集時のバージョン
10.10
参照
- validRequestorForSendType:returnType
- readSelectionFromPasteboard (NSServicesRequests)
- writeSelectionToPasteboard:types (NSServicesRequests)
例文
#import "Controller.h" @implementation Controller - (IBAction)pushButton:(id)sender { NSMenu *newMenu; NSArray *sendArray = [NSArray arrayWithObjects:@"NSPDFPboardType",@"NSPICTPboardType",@"NSPostScriptPboardType",@"NSTIFFPboardType",nil]; NSArray *retArray = [NSArray arrayWithObjects:@"NSPDFPboardType",@"NSPICTPboardType",@"NSPostScriptPboardType",@"NSTIFFPboardType",nil]; newMenu = [[NSMenu allocWithZone:[NSMenu menuZone]] initWithTitle:@"aaa"]; [newMenu addItemWithTitle:@"aaaa" action:nil keyEquivalent:@"e" ]; [[NSApplication sharedApplication] setServicesMenu:menu]; [NSApp registerServicesMenuSendTypes:sendArray returnTypes:retArray ]; //NSLog([[NSApp servicesMenu] description]); } @end
//NSApplication registerServicesMenuSendTypes //サービスメニューを登録 動いてない 調査中 @IBAction func function045(sender: AnyObject) { //共有アプリケーションインスタンスを取得 let anApplication = MyApplication.sharedApplication() //送信タイプ var sendArray = ["NSPDFPboardType","NSPICTPboardType","NSPostScriptPboardType","NSTIFFPboardType"] //リターンタイプ var retArray = ["NSPDFPboardType","NSPICTPboardType","NSPostScriptPboardType","NSTIFFPboardType"] var aMenu : NSMenu = NSMenu(title: "aaa") aMenu.addItemWithTitle("aaaaa", action: "serviceMethod" , keyEquivalent: "e") anApplication.servicesMenu = aMenu anApplication.registerServicesMenuSendTypes(sendArray, returnTypes: retArray) //NSLog("NSApplication dockTile %@",dockTile) } //サービスで呼び出されるメソッド func serviceMethod() { NSLog("serviceMethod") }