iphone - 应用程序在访问 NSDictionary 的值时崩溃但在访问其键时不崩溃?

标签 iphone ios nsdictionary asihttprequest

我有一个名为“myData”的 NSDictionary 对象,我正在尝试从 UITableViewDelegate 方法“didSelectRowAtIndexPath”访问它。

我可以很好地执行这些操作:

if(myData == nil) { /* it doesn't print here, so it's not nil */ }
NSLog(@" * Keys: %@", [myData allKeys]); // Outputs all of the keys.

但是,如果我尝试执行这些操作中的任何一个,应用程序就会崩溃,并且不会出现任何警告、错误或任何类型的输出:

[myData objectForKey:@"akey"];
[myData allValues];

有人知道是什么原因造成的吗?

最佳答案

听起来 myData 不包含有效引用。看完是放行还是忘记保留?

[更新]:为了安全起见,排除这个只是在创建字典后再做一次保留(只是为了测试!)并检查崩溃是否消失。如果不是,则可能是其他一些变量正在覆盖您的 myData。设置两个断点,一个在字典分配给 myData 的点,另一个在崩溃点之前。检查您是否看到合理的摘要,例如“2 个 key 对”。

关于iphone - 应用程序在访问 NSDictionary 的值时崩溃但在访问其键时不崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6763198/

相关文章:

iphone - TWTweetComposeViewController 不允许编辑

iphone - 在iphone sdk中的单行上对齐两个不同的文本

ios - 找不到框架 Firebase Swift

ios - 当我尝试从字典中删除值时,它抛出错误 "Index out of range"

iphone - 如何检查 iPhone 中的日期有效性?

iphone - iPhone 编程中属性的使用

ios - 谓词 "IN"在设备上非常慢(相差 83 倍)

iPhone : Textfields and NSNumberFormatter

ios - 字典与一堆 "if"和 "return"

iOS——区分 NSDictionary 和 NSMutableDictionary?