gpt4 book ai didi

ios - 从 AppDelegate 访问 ViewController

转载 作者:可可西里 更新时间:2023-11-01 06:20:56 24 4
gpt4 key购买 nike

我的问题如下,

在我的一个 ViewControllers 中,当用户点击一个按钮时,我使用此代码为设备注册通知。

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];

然后,在AppDelegte中,有两个方法。一个收到 token ,一个收到错误。

- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error

现在问题来了,在 didRegisterForRemoteNotificationsWithDeviceToken 中,我需要将 token 发送到我的服务器,以及用户在 View 中输入的一些数据,例如它的用户名。

我怎样才能得到这些数据?

最佳答案

NSNotificationCenter 将在这里很好地为您服务。在您的 AppDelegate 的 didRegisterForRemoteNotificationsWithDeviceToken 中,执行此操作:

[[NSNotificationCenter defaultCenter] postNotificationName:@"RegistrationReceived"
object:token];

并且,在您的 Controller 的 viewDidLoad 中,

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

一定要实现 -updateRegistrationInfo:(或者你想给它起的任何名字)来接收 NSNotification 和作为参数传入的 token 。此外,当您不再需要通知时,请取消注册。

- (void)updateRegistrationInfo:(NSNotification *)notification
{
NSString *myObject = [notification object];
...
}

关于ios - 从 AppDelegate 访问 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14838313/

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