代码之家  ›  专栏  ›  技术社区  ›  mirap

NSOpenPanel冻结应用程序几秒钟

  •  1
  • mirap  · 技术社区  · 15 年前

        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…)。:有什么方法可以调试这种问题吗?有人看到了吗?

    1 回复  |  直到 15 年前
        1
  •  0
  •   Joshua Nozzi    15 年前

    我看到打开的面板会冻结应用程序几秒钟,因为挂起/挂起备用的外部媒体需要一段时间才能重新启动,但在点击“取消”按钮时不会。你有没有用仪器(时间剖面仪)来找出它在那一点上做了什么?