2012-01-02 2 views
0

내가 NSOpenPanel 사용하는 응용 프로그램을 한 번만 시트로 나타납니다 :NSOpenPanel는

openDlg = [NSOpenPanel openPanel]; 
[openDlg setCanChooseDirectories:YES]; 
[openDlg beginSheetModalForWindow:MainWindow completionHandler:nil]; 

if ([openDlg runModal] == NSOKButton){ 
    NSLog(@"accept"); 
} else { 
    NSLog(@"cancel"); 
} 

것은 내가 다시 팝업을 보여 주면 취소 후, 그것은 (않는 대신 시트, 창으로 나타납니다이다 첫 번째 통화에서). 나는 이것이 어떤 릴리즈 일로 인한 것이라고 생각하지만, 나의 프로젝트는 ARC를 사용하므로 잘 모른다. 내가 뭘 잘못하고있어? 감사! 당신이 NSOpenPanel에서 제공된 값을 허용하고 있지만, 다음 패널 자체를 제거하지 않는 것처럼

+0

당신이를 게시 할 수 코드의 끝에 다음을 추가하여 수행 할 수 있습니다 패널을 다시 보여주는 코드는 작동하지 않습니다. 문제가 ARC 또는 메모리 관리와 관련이 있는지 의심 스럽습니다. –

답변

0

이 같은데, 이것은

[openDlg close]; 
[NSApp endSheet:openDlg];