0

我编写了一个 HTML5 应用程序,并在 Cocoa for Mac 中为它制作了一个包装器。我正在编写一个方法,该方法将获取一个 url 并让用户将其保存到他们的磁盘上。到目前为止的方法如下:

- (void) downloadFile: (NSString *) url {

    NSSavePanel * savePanel = [NSSavePanel savePanel];
    [savePanel setAllowedFileTypes: @[@"png"]];
    [savePanel setNameFieldStringValue:@"test"];
    [savePanel beginWithCompletionHandler:^(NSInteger result){
        //NSArray * files = [[openDlg URLs] valueForKey: @"relativePath"];
        //[resultListener chooseFilenames: files]  ;
    }];
    [savePanel runModal];

}

但是,当我调用该方法时(在创建窗口很久之后),我的应用程序崩溃并且我在控制台中收到此错误:2013-07-21 18:23:05.067 Reditr[31458:d11f] RVS:__54-[NSRemoteSavePanel _runOrderingOperationWithContext: ]_block_invoke_0319 : 等待窗口超时

4

1 回答 1

0

您不想同时使用-runModal-beginWithCompletionHandler:。使用其中一个(最好是后者)。

于 2013-07-21T21:38:08.247 回答