我向運行良好的簡單繪製項目的窗口添加了背景顏色,並且構建成功。然後樂趣開始了:運行時錯誤出現在控制檯窗口中。我在Apple文檔和Google上找不到任何幫助。當另一個抽獎項目發生同樣的情況時,我知道我必須尋求幫助。窗口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中創建了一對Bezier路徑:並將它們繪製在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。這些都不起作用。我希望我能找到一些例子來說明如何實現這一點。所有的幫助將不勝感激。