Ios 从AppDelegate访问当前视图

Ios 从AppDelegate访问当前视图,ios,uiviewcontroller,Ios,Uiviewcontroller,我正在尝试从我的应用程序代理访问当前视图。在我的应用程序代理中,有一个定时事件,每30秒访问一个远程服务器。如果它发现需要更新当前数据,我需要它在当前视图上显示进度显示“请等待”模式弹出窗口 我想使用DejalActivityView在当前活动视图上显示“请稍候”窗口,但是它需要当前活动视图作为输入参数,并且我无法从应用程序代理获取它 Self.Window.RootViewController返回Null,从委托中找不到当前视图或UIViewController 非常感谢您的帮助。您需要使用不

我正在尝试从我的应用程序代理访问当前视图。在我的应用程序代理中,有一个定时事件,每30秒访问一个远程服务器。如果它发现需要更新当前数据,我需要它在当前视图上显示进度显示“请等待”模式弹出窗口

我想使用DejalActivityView在当前活动视图上显示“请稍候”窗口,但是它需要当前活动视图作为输入参数,并且我无法从应用程序代理获取它

Self.Window.RootViewController返回Null,从委托中找不到当前视图或UIViewController


非常感谢您的帮助。

您需要使用不同的体系结构,如通知,而不是这样做

在要执行此操作的AppDelegate中,将其替换为:

[[NSNotificationCenter defaultCenter] postNotificationName:@"showPleaseWaitAlert" object:nil];
然后,在视图控制器中实现如下方法:

-(void)showPleaseWait {
  //Show your dialog here
}
然后,在类似于
viewDidLoad
的方法中,执行以下操作:

[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showPleaseWait) name:@"showPleaseWaitAlert" object:nil]

与此相反,您需要使用不同的体系结构,如通知

在要执行此操作的AppDelegate中,将其替换为:

[[NSNotificationCenter defaultCenter] postNotificationName:@"showPleaseWaitAlert" object:nil];
然后,在视图控制器中实现如下方法:

-(void)showPleaseWait {
  //Show your dialog here
}
然后,在类似于
viewDidLoad
的方法中,执行以下操作:

[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showPleaseWait) name:@"showPleaseWaitAlert" object:nil]

啊哈!谢谢你,最近我从ASP.Net开始了iOs开发,我的理解还很欠缺。我非常感谢对“一般方法”的解释。你,我的朋友,太棒了。多谢各位@克雷格摩尔:谢谢!总是很乐意帮忙。iOS开发与其他任何东西都不一样。习惯需要一点时间。啊哈!谢谢你,最近我从ASP.Net开始了iOs开发,我的理解还很欠缺。我非常感谢对“一般方法”的解释。你,我的朋友,太棒了。多谢各位@克雷格摩尔:谢谢!总是很乐意帮忙。iOS开发与其他任何东西都不一样。习惯需要一点时间。