Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa NSSavePanel句柄操作_Cocoa_Nssavepanel - Fatal编程技术网

Cocoa NSSavePanel句柄操作

Cocoa NSSavePanel句柄操作,cocoa,nssavepanel,Cocoa,Nssavepanel,简单问题: 我想处理NSSavePanel中按下的取消按钮的操作。我将面板与委托类一起使用: NSSavePanel *save = [NSSavePanel savePanel]; [save setDelegate:self]; [save runModal]; 我在文件上看到: 好: 当用户单击面板的“确定”按钮时,将调用此操作方法 (iAction)确定:(id)发送方 但我不知道如何对专家组说如何处理这种方法 谢谢。如果您只是想处理按下的“取消”按钮: NSSavePanel

简单问题: 我想处理NSSavePanel中按下的取消按钮的操作。我将面板与委托类一起使用:

NSSavePanel *save = [NSSavePanel savePanel];
[save setDelegate:self];
[save runModal];
我在文件上看到:

好: 当用户单击面板的“确定”按钮时,将调用此操作方法

  • (iAction)确定:(id)发送方
但我不知道如何对专家组说如何处理这种方法


谢谢。

如果您只是想处理按下的“取消”按钮:

 NSSavePanel *panel = [NSSavePanel savePanel]; 
 panel.delegate = self;

 if ([panel runModal] == NSOKButton) {
     // Got it, use the panel.URL field for something
 } else {
     // Cancel was pressed...
 }

找到另一个具有非阻塞面板的解决方案:

[save beginWithCompletionHandler:^(NSInteger result) {
    if (result == NSFileHandlingPanelOKButton)
    {
        NSLog(@"Ok pressed.");
    }
    else if (result == NSFileHandlingPanelCancelButton)
    {
        NSLog(@"Cancel pressed.");
    }
}];