잘 실행되는 간단한 그리기 프로젝트의 창에 배경색을 추가하고 빌드를 성공했습니다. 그런 다음 즐거움이 시작되었습니다 : 런타임 오류가 콘솔 창에 나타납니다. Apple docs와 Google에서는 도움이되지 않았습니다. 다른 드로 프로젝트에서 같은 일이 일어 났을 때, 나는 도움을 청해야한다는 것을 알았습니다.Window setBackGround : 런타임 오류가 발생합니다.
다음은 빌드 &을 디버깅하고 중지 할 때마다 일어난 일입니다. 1)에서 4)까지 실행합니다. "계속"은 내가 계속 아이콘을 클릭했음을 의미합니다. 그것은 일관된 순서로 잘못하여 계속되었습니다.
1) Program received signal:“EXC_BAD_ACCESS".
스피닝 볼. 경로 OK.
계속하십시오. “EXC_BAD_ACCESS
. 회전 공. 경로가 사라집니다. 배경이 나타납니다.
2) 6 회 계속하십시오. “EXC_BAD_ACCESS”
. 회전 공. 경로가 사라집니다. 배경이 나타납니다. 즉시
3) :
는2012-12-26 09:53:18.265 bezier triangle[388:a0f] -[NSCFArray stroke]: unrecognized selector sent to instance 0x1005184f0
2012-12-26 09:53:18.268 bezier triangle[388:a0f] -[NSCFArray stroke]: unrecognized selector sent to instance 0x1005184f0
2012-12-26 09:53:37.846 bezier triangle[388:a0f] -[NSCFArray stroke]: unrecognized selector sent to instance 0x1005184f0
2012-12-26 09:53:37.847 bezier triangle[388:a0f] -[NSCFArray stroke]: unrecognized selector sent to instance 0x1005184f0
없는 아이콘을 계속합니다. 경로 OK. 배경 없음.
4) 6 회 계속하십시오. “EXC_BAD_ACCESS”
. 회전 공. 경로가 없습니다. 배경 없음.
NSWindow 클래스는 initWithRect :에 몇 개의 베 지어 경로를 만들고 drawRect :로 그립니다. 잘 돌아 갔어. Apple의 Window Programming Guide에서 setBackGround : 코드를 가져 와서 이전에 비어있는 AppDelegate에 붙여 넣었습니다.
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
// Background color
[window setOpaque:NO]; // YES by default
NSColor *semiTransparentBlue =
[NSColor colorWithDeviceRed:0.0 green:0.0 blue:1.0 alpha:0.5];
[window setBackgroundColor:semiTransparentBlue];
window.backgroundColor = NSColor.blueColor;
}
중단 점을 설정하면이 코드가 완료된 후 런타임 오류가 발생했음을 알 수 있습니다.
문제가 실행 시점과 관련이 있다고 생각하여이 코드를 initWithRect로 옮긴 다음 awakeFromNib로 옮겼습니다. 이들은 작동하지 않았다. 이것을 구현하는 방법을 보여주는 몇 가지 예를 찾을 수 있었으면 좋겠습니다. 모든 도움을 주실 수 있습니다.