Ios PushWoosh UIWebview

Ios PushWoosh UIWebview,ios,uiviewcontroller,appdelegate,pushwoosh,Ios,Uiviewcontroller,Appdelegate,Pushwoosh,准备让自己出丑: 我有一个框架应用程序,它有PushWoosh通知类。它很好用。我可以向我的应用程序发送推送消息 为了实现这一点,在我的AppDelegate中,有一个名为 - (void) onPushAccepted:(PushNotificationManager *)pushManager withNotification:(NSDictionary *)pushNotification 这让我可以在收到通知时发出信息 同时,在我的ViewController中,我有这样一种方法: -

准备让自己出丑:

我有一个框架应用程序,它有PushWoosh通知类。它很好用。我可以向我的应用程序发送推送消息

为了实现这一点,在我的AppDelegate中,有一个名为

- (void) onPushAccepted:(PushNotificationManager *)pushManager withNotification:(NSDictionary *)pushNotification
这让我可以在收到通知时发出信息

同时,在我的ViewController中,我有这样一种方法:

-(void)loadURL{
    NSLog(@"testing");
    [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:TOPIC]]];
    [webView reload];
}
当从ViewController本身调用时,此选项可以正常工作

但是,当我尝试从appDelegate中的“onPushAccepted”方法中调用此方法时,webView不会显示所需的URL,尽管如日志所示,该方法已被调用

我想这表明我对这一切的运作缺乏一些基本的了解

因此,我会对一些字符串感到满意,这将使这项工作,但我真的很高兴有一个背后的原因和如何解释

我尝试将onPushAccepted:放在ViewController中,但根本不起作用,尽管我在ViewController.m中包含了必要的“PushNotificationManager.h”

我很困惑,需要你的帮助

我想你的回答会让我接近基本知识


谢谢你

在本例中,Sjakelien使用的是单一视图应用程序。混淆之处在于试图通过执行以下
ViewController*vc=[[ViewController alloc]init]在
AppDelegate
中实例化
ViewController
;[vc加载URL]不起作用

在这种情况下,解决方案是使用获取屏幕上显示的
ViewController

- (void) onPushAccepted:(PushNotificationManager *)pushManager withNotification:(NSDictionary *)pushNotification {
  ViewController *vc = (ViewController*)self.window.rootViewController;
  [vc loadURL];
}
具有不同设置的应用程序(如
UINavigationController
)需要采取不同的操作

有几个选择:

  • popToRootViewController并实例化
    ViewController
    的新实例,并将其推送到导航堆栈上

  • ViewController
    的新实例推送到导航堆栈上,而不使用popToRootViewController

  • 以模式显示
    ViewController
  • 修改应用程序的模型

在方法中放置断点,并检查变量检查器中
webview
的值。很可能
webview
nil
OK,如果是,我该怎么办?如何从AppDelegate调用
-(void)loadURL
?ViewController*vc=[[ViewController alloc]init];[vc加载URL];您不能仅使用
init
创建
ViewController
的实例。
ViewController
是否从nib或故事板加载?或者你正在用代码创建它。在任何情况下,您都希望在屏幕上显示的
ViewController
实例上调用
-(void)loadURL
,因此动态创建一个新实例将不起作用。谢谢您,Hugo。对于那些拥有同样可怜的编程技能的人来说:这意味着,与其创建一个新的视图,不如一直爬到现有视图来发送消息。对我来说,下一步是:更多地关注rootViewController的存在,以及围绕该现象的整个范例。我非常尴尬。