说我必须在收到无声推送通知后从App Delegate调用View Controller中的方法(这是顶部显示给用户的方法)。反过来,所谓的方法必须显示警报,并且在客户单击警报视图按钮后,必须弹出视图控制器。
我的问题是单击按钮后clickedButtonAtIndex
方法没有被触发。是什么原因呢?
AppDelegate.m
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
TestViewController *test = [[TestViewController alloc] init];
[test showAlert];
}
TestViewController.h
@interface TestViewController : BaseViewController<UIAlertViewDelegate>
TestViewController.m
-(void)showAlert {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Message" message:@"Show Message" delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
alert.tag = 100;
[alert show];
}
答案 0 :(得分:0)
您必须访问现有的顶视图控制器实例,而不是在执行操作时实例化一个新的实例。 这样做的方法取决于应用程序界面的定义方式:例如,如果您使用的是导航控制器,则必须访问其viewControllers数组的顶部。