为什么 GLKView 没有上下文?
Why does a GLKView not have a context?
如果我对 GLKView 的 class 进行 NSLog,我会得到 GLKView,但为什么它没有可以分配给 EAGLContext 的上下文 属性?为什么我必须将它转换为另一个变量,然后分配 EAGLContext?
如果您在 UIViewController
子类中执行此操作,则 self.view
被声明为 return 类型为 UIView
的对象,因此您必须强制转换它。您可以使用:
((GLKView*) self.view).context = ...
请注意,这假设 self.view
确实是 GLKView
。
因为 GLKViewController
没有定义 glkView
属性,你可以这样做:
@property (nonatomic, readonly) GLKView* glkView;
-(GLKView*)glkView {
return (GLKView*) self.view;
}
如果我对 GLKView 的 class 进行 NSLog,我会得到 GLKView,但为什么它没有可以分配给 EAGLContext 的上下文 属性?为什么我必须将它转换为另一个变量,然后分配 EAGLContext?
如果您在 UIViewController
子类中执行此操作,则 self.view
被声明为 return 类型为 UIView
的对象,因此您必须强制转换它。您可以使用:
((GLKView*) self.view).context = ...
请注意,这假设 self.view
确实是 GLKView
。
因为 GLKViewController
没有定义 glkView
属性,你可以这样做:
@property (nonatomic, readonly) GLKView* glkView;
-(GLKView*)glkView {
return (GLKView*) self.view;
}