我向运行良好的简单绘制项目的窗口添加了背景颜色,并且构建成功。然后乐趣开始了:运行时错误出现在控制台窗口中。我在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。这些都不起作用。我希望我能找到一些例子来说明如何实现这一点。所有的帮助将不胜感激。