gpt4 book ai didi

ios - 在模拟器上崩溃但在设备上不崩溃 : -[NSTaggedPointerString stringValue]: unrecognized selector sent to instance

转载 作者:行者123 更新时间:2023-11-29 00:18:48 25 4
gpt4 key购买 nike

我实现了一些公共(public)函数,可以让我的程序更加简洁。但我的模拟器上有问题,但在设备上却很好。我 100% 确定我存储在 UserDefaults 中的 uid 是 NSNumber。但为什么它只在模拟器上崩溃?

代码:

+(NSString *) keyForUserProfileName{
NSNumber *uid = [[NSUserDefaults standardUserDefaults] objectForKey:@"uid"];
NSLog(@"my uid is %@", uid);
NSString *key = [@"UserProfileNameFor" stringByAppendingString: [uid stringValue]];
NSLog(@"my key is %@", key);

return key;
}

错误:

my uid is 11803624
-[NSTaggedPointerString stringValue]: unrecognized selector sent to instance 0xa0079ea9d7eca1c8
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSTaggedPointerString stringValue]: unrecognized selector sent to instance 0xa0079ea9d7eca1c8'

uid分配代码:

NSNumber *uid = [loginResult objectForKey:@"uid"];
[prefs setObject:uid forKey:@"uid"];

编辑------------------------------------------------ --------------------------------

NSNumber *uid... 行之后插入这两行后,程序会通过模拟器和设备。但我完全不知道为什么它是错误的。

int uidint = [uid intValue];
NSString *uidString = [@(uidint) stringValue];

最佳答案

将您的 uid 分配代码更改为

NSNumber *uid = [NSNumber numberWithInteger:[[loginResult objectForKey:@"uid"] integerValue]];

关于ios - 在模拟器上崩溃但在设备上不崩溃 : -[NSTaggedPointerString stringValue]: unrecognized selector sent to instance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44582125/

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