0

이 코드를 사용하여 창보기 창을 모달보기로 표시했습니다. 윈도우 콘트롤러에 윈도우의 버튼에 대한 액션이 있습니다. 그리고 버튼을 클릭하면 앱이 다운되고 오류 메시지가 표시되지 않습니다. 나는 대표자를 세우는 데 틀린가? 시트 창을 표시 할 수 있습니다 전에 (당신이 그것을 사용하는 경우 아마 ARC에 의해)창 컨트롤러 대리자 오류

[[NSApplication sharedApplication] beginSheet:windowObj.window modalForWindow:self.view.window modalDelegate:windowObj didEndSelector:nil contextInfo:nil]; 
+0

예외 중단 점을 추가하고 다시 시도하십시오. 우리는 도움을주기 위해 스택 추적이 필요합니다 ... – trojanfoe

+0

시도했습니다. 나는 어떤 예외도 얻지 못한다. return NSApplicationMain (argc, (const char **) argv); ' EXC_BAD_ACCESS (code = EXC_1386_GPFLT)가있는 행 – prabhu

+0

예외의 근본 원인을 잡아낼 수 있어야합니다 ... – trojanfoe

답변

1

windowObj이 해제되고있다. 이것을 사용하는 클래스에 강력한 속성을 추가하고 windowObj를 다음과 같이 설정해야합니다.

@property (strong) MyWindowController *windowObj; 
... 
// Instantiate the window controller 
self.windowObj = [[windowController alloc] initWithWindowNibName:@"windowController"]; 
[[NSApplication sharedApplication] beginSheet:windowObj.window modalForWindow:self.view.window modalDelegate:windowObj didEndSelector:nil contextInfo:nil]; 
+0

문제는 windowObj가 할당 해제 중입니다. '[self.windowObj loadWindow];에 대한 필요가 없습니다. 강력한 속성을 추가 했으므로 작동 중입니다. 고맙습니다. – prabhu

+0

Usinf'[self.windowObj loadWindow]; '는 다른 문제를 일으키는 창 대표를 가로 챕니다. 이 관점에서 그러한 코딩을 피하는 것이 좋습니다. – prabhu