Objective c 转换为圆弧后的根视图控制器警告
我正在将我的opengl游戏转换为ARC,并在应用程序启动时遇到以下错误/警告消息: 在应用程序启动结束时,应用程序应该有一个根视图控制器 我没有使用nib或xib文件来创建视图或窗口。在非arc代码中,一切都可以正常工作(现在已经有好几年了) 在错误/警告之后,游戏继续进行,运行良好,但我想知道是什么原因导致了这一点,因为它可能会导致问题 我的猜测是,由于它是arc,有些东西没有被正确地保留,但我不知道是什么。有什么想法吗?下面是我如何创建opengl视图和窗口Objective c 转换为圆弧后的根视图控制器警告,objective-c,ios,opengl-es,automatic-ref-counting,Objective C,Ios,Opengl Es,Automatic Ref Counting,我正在将我的opengl游戏转换为ARC,并在应用程序启动时遇到以下错误/警告消息: 在应用程序启动结束时,应用程序应该有一个根视图控制器 我没有使用nib或xib文件来创建视图或窗口。在非arc代码中,一切都可以正常工作(现在已经有好几年了) 在错误/警告之后,游戏继续进行,运行良好,但我想知道是什么原因导致了这一点,因为它可能会导致问题 我的猜测是,由于它是arc,有些东西没有被正确地保留,但我不知道是什么。有什么想法吗?下面是我如何创建opengl视图和窗口 -(BOOL)applicat
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
[window setUserInteractionEnabled:YES];
[window setMultipleTouchEnabled:YES];
glView = [[EAGLView alloc] initWithFrame:[UIScreen mainScreen].bounds];
[window addSubview:glView];
[window makeKeyAndVisible];
[glView performSelectorOnMainThread:@selector(startMainGameLoop) withObject:nil waitUntilDone:NO];
return YES;
}
而且
@interface GameAppDelegate : NSObject <UIApplicationDelegate>
{
UIWindow *window;
EAGLView *glView;
}
@接口GameAppDelegate:NSObject
{
UIWindow*窗口;
伊格尔维尤*glView;
}
您可能需要为glView使用@property和@Synthesis。在应用程序启动结束时,“应用程序预计会有一个根视图控制器。
”对于许多没有在Xcode 4.2的iOS5中为其应用程序委托的窗口属性设置rootViewController属性的人,会弹出消息(不依赖弧)
现在,这似乎是一个友好的警告。虽然一般的感觉是,这将成为一种规则
也许值得一看Xcode中“OpenGL游戏”的项目模板。这似乎是苹果希望所有应用程序结构化的方式 更改为
@合成窗口
而不是
@合成窗口=_窗口 它可能不依赖于弧,但它只发生在已启用弧的代码上。