我正在尝试以编程方式创建一个带有我自己的自定义OpenGL NSView的窗口,因为它的视图,但是我遇到了ARC的问题,这会破坏我的视图。这是我现在使用的代码:
[_window setContentView:[[MyOpenGLView alloc] init]];
MyOpenGLView
只是NSView
我处理所有OpenGL调用的地方。我在initWithFrame:(NSRect)
中设置了OpenGL,然后返回自己。我可以单步执行该代码,它可以正常工作。问题是,只要setContentView
被调用,我新分配的MyOpenGLView
就会被自动释放。有没有办法让窗口保留视图?
答案 0 :(得分:0)
问题与我的观点无关,但我的CVDisplayLinkOutputCallback
没有设置@autoreleasepool
块。 This问题提供了设置CVDisplayLink
回调的正确方法。