0
내 응용 프로그램에서
내가 그서브 뷰 보이기와 숨기기
@interface MyWnd : NSWindowController {
MyCustomView1 *pCtmView1;
MyCustomView2 *pCtmView2;
}
소스 파일에서 관련 다음과 같은 방법 한
같은 추가 전망을, 인터페이스 정의에서 의 의 의다음과 같은 일부 사용자 동작에 따라, 내가 행한를 표시하고 숨길 필요
-(void)CreateSubViews{
NSRect subViewRect = [self GetSubViewRect];
pCtmView1 = [[ MyCustomView1 alloc]initWithFrame:subViewRect]
pCtmView2 = [[ MyCustomView2 alloc]initWithFrame:subViewRect]
initially both view will be hidden
[pCtmView1 setHidden:TRUE];
[pCtmView2 setHidden:TRUE];
[[self window] view addSubView:pCtmView1];
[[self window] view addSubView:pCtmView2];
}
-(void)ShowSubView:(int)viewId{
if(viewId == 0){
[pCtmView1 setHidden:FALSE];
[pCtmView1 setNeedDisplay:YES];
}
if(viewId == 1){
[pCtmView2 setHidden:FALSE];
[pCtmView2 setNeedDisplay:YES];
}
}
초기화 응용 프로그램에서 내가 ShowSubView 호출 오전 : 1 아무것도 내가 gdb를
안내하십시오에서 볼 수 & EXEC_BAD_ACCESS을 표시되지 않습니다 : 0과 잘, 작동하지만 일부 사용자 동작에 의존, 내가 ShowSubView를 호출합니다 나, 내가보기
감사를 표시하는 것이 더 많은 일을해야합니까
나중에 setNeedsDisplay를 호출하지 마십시오. 또한 TRUE와 FALSE 대신 YES와 NO를 사용해야합니다. 그것은 중요하지 않지만 대회입니다. – Maz
그것은'EXEC_BAD_ACCESS'가 아니라'EXC_BAD_ACCESS'입니다. 'EXC'는 "예외"를 나타내며, 여기서는 마흐 커널 예외를 의미합니다. 즉, 응용 프로그램이 충돌했습니다. 또한,'ShowSubview :'를 각보기마다 하나씩 두 개의 메소드로 나눌 수 있습니다. if 문의 사슬은 나를 긴장하게 만든다. 저자 (당신)가 분실 한 지점이나 지점이 무엇인지 궁금합니다. –