Я новичок во всей макарии Cocoa / Objective-C (но у меня годы C / C ++ на * nix).
Я пытаюсь создать базовое приложение Какао, заполненное NSOpenGLView. У меня есть:
chink.mm
#import <OpenGL/gl.h>
#import "chink.h"
@implementation chinkView
@synthesize window;
- (void) applicationDidFinishLaunching : (NSNotification *)aNotification {
NSLog(@"Danger, Will Robinson! Danger!");
}
- (void) dealloc
{
[window release];
[super dealloc];
}
@end
и chink.h
@interface chinkView : NSOpenGLView {
NSWindow *window;
}
@property (assign) NSWindow *window;
@end
У меня есть один .xib настроенный как
https://skitch.com/cront/ri625/chinkxib
, где 'Chink View' установлен как делегат для Window и File Owner.
Я получаю ошибку «Недопустимое рисование» (даже до того, как приложение завершит запуск), что, насколько я понимаю, означает, что оно пытается создать представление opengl перед окном (хотя я, вероятно, ошибаюсь).
Я хочу решить эту проблему, создав окно и настроив в нем представление opengl. Как только это сделано, у меня нет абсолютно никаких проблем с написанием OGL (как я уже сказал, я знаю C ++), но все эти вызовы NS, gunk, мне чужды.
Я не ищу ответы «почему бы вам не сделать это в SDL / GLUT», пожалуйста. Просто код, чтобы заставить его правильно создать окно.