我希望在出现推送通知(推送,短信)时调用我的暂停方法。推送通知出现时暂停游戏
首先,游戏的概念: 当您启动应用程序时,会显示一个主视图,您可以在其中选择三种不同的游戏模式之一。 因此,如果用户在一种游戏模式下玩并获得短信,游戏应该暂停,如果他取消通知,游戏应该继续。
三种不同模式的viewcontrollers的名称是PlayViewController,PlayTwoViewController和TimePlayViewController。
所以,这里是我的appDelegate:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
// Add the view controller's view to the window and display.
[self.window addSubview:viewController.view];
[self.window makeKeyAndVisible];
return YES;
}
- (void)applicationWillResignActive:(UIApplication *)application { [PlayViewController pauseGame]; [PlayTwoViewController pauseGame];[TimePlayViewController pauseGame]; }
- (void)applicationDidEnterBackground:(UIApplication *)application {
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
}
-(void)applicationDidBecomeActive:(UIApplication *)application { [PlayViewController pauseGame]; [PlayTwoViewController pauseGame];[TimePlayViewController pauseGame]; }
- (void)applicationWillTerminate:(UIApplication *)application {
}
pauseGame方法总是一样的。代码是:
-(IBAction)pauseGame {
[myTimer invalidate];
PauseViewController *screen = [[PauseViewController alloc] initWithNibName:nil bundle:nil];
screen.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:screen animated:YES];
[screen release]; }
myTimer只是一个NSTimer。
应用崩溃时我的代码生成它上面 控制台说:
2011-04-03 11:22:10.091 APPNAME [458:207] + [PlayViewController pauseGame]:无法识别的选择发送到class 0x1d39c 2011-04-03 11:22:10.093 appName [458:207] *因未捕获的异常'NSInvalidArgumentException'而终止应用,原因:'+ [PlayViewController pauseGame]:无法识别的选择器发送到类0x1d39c' 终止在抛出'NSException'实例后调用
您应该在变量上调用pauseGame - 而不是类。为了弄清楚更多, d需要看代码 – 2011-04-04 01:12:56
你想看更多的代码吗?我已经发布了我的整个应用程序委托和方法,我可以做更多的事情?我不能发布我的应用程序的整个代码,我应该如何调用pauseGame ,你能举个例子吗? – Leon 2011-04-04 16:27:08
你在哪里发布应用代理代码?我看到的只是'PlayViewController pauseGame'这一行。 [PlayTwoViewController pauseGame]; [TimePlayViewController pauseGame];' 我至少需要查看完整的方法,以及pauseGame方法的定义和它们所在的类的名称。我不能给你一个调用pauseGame的例子,因为我不知道方法是在哪里定义的 - 它是代码中的东西,而不是来自iOS SDK的方法 – 2011-04-06 00:23:50