Ios NSDictionary中的NSNumber始终为空
我正在构建一个项目,希望将NSNumber添加到NSDictionary中。但是由于空值,它崩溃了。所以,我创建了另一个小程序来检查发生了什么。正如您在快照中所看到的:为什么NSDictionary中NSNumber的值为null?我已经运行了您的代码,可以重现这个问题。但这似乎是一个调试器问题。例如,如果在创建词典后,转到控制台并尝试打印词典Ios NSDictionary中的NSNumber始终为空,ios,objective-c,Ios,Objective C,我正在构建一个项目,希望将NSNumber添加到NSDictionary中。但是由于空值,它崩溃了。所以,我创建了另一个小程序来检查发生了什么。正如您在快照中所看到的:为什么NSDictionary中NSNumber的值为null?我已经运行了您的代码,可以重现这个问题。但这似乎是一个调试器问题。例如,如果在创建词典后,转到控制台并尝试打印词典 po dictionary 我的结果是: $4 = 0x2083e770 { number = 1; } 所以它根本不是空的。此外,在此之后
po dictionary
我的结果是:
$4 = 0x2083e770 {
number = 1;
}
所以它根本不是空的。此外,在此之后,anum被正确分配,b被设置为是。因此,它看起来确实像一个调试器问题,而不是来自您的bug。我认为它的调试器问题可以尝试
NSLog
使用NSDictionary
。我运行了您的代码,它运行得很好。它是否总是记录NO?BTW——考虑使用现代ObjultC:<代码> NSCORCHOR*DICT= @ {@”号:@是,};代码>我看不出来。在屏幕图像中,调试器还没有像分配了anum的16一样执行。@SimonM iOS没有GC。谢谢大家。非常感谢你帮助我。