gpt4 book ai didi

ios - 从 AppDelegate 获取数据到 iOS 中的 ViewController

转载 作者:行者123 更新时间:2023-11-29 10:59:58 26 4
gpt4 key购买 nike

我有 ios 项目 i xcode,我需要从 Appdelegate 获取设备 token 以查看 Controller ,这是 App delegate 的代码:

-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
[[NSUserDefaults standardUserDefaults] setObject:deviceToken forKey:@"token"];
[[NSUserDefaults standardUserDefaults] synchronize];
}

然后,在 View Controller 中:

[super viewDidLoad];    
[[NSUserDefaults standardUserDefaults] objectForKey:@"token"];

当我第一次尝试时,它可以正常工作,但下次应用程序崩溃了......当我从 View Controller 中删除该代码时,它可以工作,所以它一定是错的......你能帮我吗?

最佳答案

首先,从您的手机/模拟器中删除您的应用
因为 NSUserDefaults 可能保存了错误的 key 数据。

enter image description here

然后用这些替换您的代码,

-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
if(deviceToken){
[[NSUserDefaults standardUserDefaults] setObject:deviceToken forKey:@"token"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
}


在viewDidLoad中,

- (void)viewDidLoad
{
[super viewDidLoad];
id token = [[NSUserDefaults standardUserDefaults] objectForKey:@"token"];
if(token){
NSLog(@"I have got the token");
}else NSLog(@"no token");
}

关于ios - 从 AppDelegate 获取数据到 iOS 中的 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16406223/

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