replyToOpenOrPrint:
openFiles,printFilesの結果の処理をします
- (void)replyToOpenOrPrint:(NSApplicationDelegateReply)reply
func replyToOpenOrPrint(_ reply: NSApplicationDelegateReply)
解説
openFiles,printFilesの結果の処理をします。
-application:openFiles、application:printFileデリゲートメソッドから呼び出します。
ファイルのドロップにはどのようなファイルタイプならこのアプリケーションが受付することができるかを記述しておく必要があります。
ターゲット アプリケーション設定 書類のタイプ 役割Editer 拡張子"*** *" OSタイプ"*** *"を設定してある
返り値
Objective-C
なし
引数
( NSApplicationDelegateReply )reply
_ reply: NSApplicationDelegateReply
【NSApplicationDelegateReply】
●NSApplicationDelegateReplySuccess
●NSApplicationDelegateReplyCancel
●NSApplicationDelegateReplyFailure
フレームワーク
ApplicationKit
クラス
NSApplication
使用可能
10.3
編集時のバージョン
10.10
例文
#import "AppDelegate.h" @implementation AppDelegate //File's ownerのデリゲートにこのクラスが接続されている //ターゲット アプリケーション設定 書類のタイプ 役割Editer 拡張子"*** *" OSタイプ"*** *"を設定してある - (BOOL)application:(NSApplication *)sender openFile:(NSString *)filename;{ if (filename != nil){ //[info setStringValue:filename]; NSLog(@"single file"); return YES; }else{ return NO; } } #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3 - (void)application:(NSApplication *)sender openFiles:(NSArray *)filenames; { [NSApp replyToOpenOrPrint:(filenames != nil) ? NSApplicationDelegateReplySuccess : NSApplicationDelegateReplyFailure]; [info setStringValue:[filenames description]]; } #endif @end
//アプリケーションがファイルドロップでOpenされた //ターゲット アプリケーション設定 書類のタイプ 役割Editer 拡張子"*** *" OSタイプ"*** *"を設定してある func application(sender: NSApplication, openFiles filenames: [AnyObject]) { remoteStateTextField.stringValue = "File drop open" var firstMissingFile :NSString? = nil ; var files : NSMutableArray = NSMutableArray() var i : Int var count :Int = filenames.count for (i = 0 ; i < count ; ++i){ var name : NSString = (filenames as NSArray).objectAtIndex(i) as NSString if (NSFileManager.defaultManager().fileExistsAtPath(name)){ files.addObject(name) }else if ( firstMissingFile != nil ){ firstMissingFile = name } } if ( firstMissingFile != nil ){ var alert : NSAlert = NSAlert() alert.addButtonWithTitle("OK") var text :NSString if (files.count >= count-1){ alert.messageText = "aaaaa" text = "Could not open file with" }else{ alert.messageText = "Multiple files not found" text = "Could not open file with" } alert.informativeText = text alert.alertStyle = NSAlertStyle.CriticalAlertStyle alert.runModal() NSApp.replyToOpenOrPrint(NSApplicationDelegateReply.Failure) } }