gpt4 book ai didi

iphone - 如何检查我当前的navigationController.view是否=aclasses.view?原因=推送通知。 + 苹果手机

转载 作者:行者123 更新时间:2023-12-03 19:07:27 25 4
gpt4 key购买 nike

所以基本上在我的应用程序委托(delegate)中我有一个 navigation.controller

此导航 Controller 有一个名为 MainScreen 的类的 View 。

在 MainScreen.m 中,我有一个 IBAction,通过插入它会将我带到 SelectionScreen.m 页面。这是它的编码

SelectionScreen *aSelectionScreenViewController = [[SelectionScreen alloc]initWithNibName:@"SelectionScreen" bundle:nil];
[self.navigationController pushViewController:aSelectionScreenViewController animated:YES];
[aSelectionScreenViewController release];

那么我如何检查我当前的navigationController.view是否=这个selectionscreen.view?

检查当前 View 是哪个的原因是因为当我收到推送通知时,我希望自动切换到此 SelectionScreen.m 页面并调用其中的一些方法。但此检查只能在 appDelegate 中完成,因为 didReceiveRemoteNotification 方法位于其中。

最佳答案

我就是这样做的

例如,如果您有三个 ViewController,并且其中任何一个都有可能由 NavigationController 推送:

ViewControllerA
ViewControllerB
ViewControllerC

那么你需要做的是:

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
if ([[self.navigationController topViewController] isKindOfClass:[ViewControllerA class]]) {

//do sth
}

if ([[self.navigationController topViewController] isKindOfClass:[ViewControllerB class]]) {

//do sth
}

if ([[self.navigationController topViewController] isKindOfClass:[ViewControllerC class]]) {

//do sth
}

}//end of code

关于iphone - 如何检查我当前的navigationController.view是否=aclasses.view?原因=推送通知。 + 苹果手机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3634872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com