gpt4 book ai didi

ios - 更改嵌套在 NSMutableDictionary 和 NSMutableArray 中的 NSNumber

转载 作者:行者123 更新时间:2023-11-28 20:03:40 31 4
gpt4 key购买 nike

我无法更改 NSMutableDictionary 中的 NSNumber。 “之前”的 NSLog 会打印,但当我更改数字时会崩溃。

如您所见,该类的类型为 NSNumber,因此我应该能够使用类方法“numberWithIn”更改数字。但是,我收到错误消息“无法识别的选择器已发送至实例”。这很奇怪,因为如果该方法不存在,则 if 语句将不起作用?想法?我是不是错过了什么奇怪的东西?

Data 是一个 NSMutableArray,里面是来自 json 数据的 NSMutableDictionaries。数据已初始化。

  if([[Data[i] objectForKey:@"Pop"] isKindOfClass:[NSNumber class]]){
NSLog(@"Before: %@",[Data[i] objectForKey:@"Pop"]);

[[Data[i] objectForKey:@"Pop"] numberWithInt:5];
NSLog(@"After: %@",[Data[i] objectForKey:@"Pop"]);
}

最佳答案

if([[Data[i] objectForKey:@"Pop"] isKindOfClass:[NSNumber class]]){
NSLog(@"Before: %@",[Data[i] objectForKey:@"Pop"]);

[[Data[i] setObject:[NSNumber numberWithInt:5] forKey:@"Pop"];
NSLog(@"After: %@",[Data[i] objectForKey:@"Pop"]);
}

应该可以。您没有正确设置新的 NSNumber 对象。

关于ios - 更改嵌套在 NSMutableDictionary 和 NSMutableArray 中的 NSNumber,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22991331/

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