gpt4 book ai didi

ios - 打开通知后从 AppDelegate 重新加载 ViewController

转载 作者:行者123 更新时间:2023-11-28 23:38:41 25 4
gpt4 key购买 nike

我目前正在尝试在从通知中心打开通知后重新加载我的 ViewController。在我的 AppDelegate 中,我使用这个函数:

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler{

if(application.applicationState == UIApplicationStateActive) {

//app is currently active, can update badges count here

}else if(application.applicationState == UIApplicationStateBackground){


}else if(application.applicationState == UIApplicationStateInactive){

//CODE

//REFRESH VIEW HERE, AFTER THE CODE ABOVE

}

如何做到这一点?这是我第一次接触 Objective-C,所以请不要对我无礼 ihihihi。

谢谢。

最佳答案

您可以使用 NSNotificationCenter 让您的 UIViewController 知道您有一些更新的数据要显示。

UIViewController 中为您的特定通知注册到通知中心,然后更新您的 View 。

在应用委托(delegate)中:

[[NSNotificationCenter defaultCenter] 
postNotificationName:@"NEW_DATA_NOTIFICATION"
object:nil];

在您的 UIViewController 中,在 viewDidLoad 中:

[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(receiveNewDataNotification:)
name:@"NEW_DATA_NOTIFICATION"
object:nil];

同样在您的 UIViewController 中:

- (void) receiveNewDataNotification:(NSNotification *) notification {
if ([[notification name] isEqualToString:@"NEW_DATA_NOTIFICATION"]) {
NSLog(@"Received New Data Notification!");
// Update your view here...
}
}

关于ios - 打开通知后从 AppDelegate 重新加载 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54130996/

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