我正在以这种方式使用NSOpenPanel:
NSOpenPanel *op=[NSOpenPanel openPanel];
[op setDelegate:self];
[op setCanChooseFiles:YES];
[op setCanChooseDirectories:YES];
[op setAllowsMultipleSelection:YES];
[op setPrompt:NSLocalizedString(@"Scan this",@"button of 'scan folder' open panel")];
[op setAccessoryView:nil];
[op setMessage:@""];
if ( [op runModalForDirectory:nil file:nil] == NSOKButton )
{
[self scanPaths:[op filenames] automatic:NO];
[[ScanController sharedController] setCurrentScanSidebarDriveName: @"(Custom)"];
} else {
NSLog(@"cancel clicked");
}
当我点击“取消”时,应用程序运行到我的方法结束,然后冻结一段时间(几秒钟)。我认为我的代码的这部分是可以的。或不?当它下降时,我的调试器变得疯狂(At& T ..)。 :/有什么方法可以调试这种问题吗?有人见过吗? 谢谢。
答案 0 :(得分:0)
我已经看到打开的面板冻结了应用程序几秒钟,当暂停/处于待机状态的外部媒体需要一段时间才能重新启动但从未点击取消时。您是否使用过仪器(Time Profiler)来了解它当时正在做什么?