我有一个名为“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];
有人知道可能导致这种情况的原因吗?
答案 0 :(得分:1)
听起来像myData是不包含有效的引用。您是否放弃它或忘记在阅读后保留它?
[更新]:为了安全起见并排除这个,只需在创建字典后再保留一次(仅用于测试!)并检查崩溃是否消失。如果没有,也许其他一些变量会覆盖你的myData。设置两个断点,一个在字典分配给myData的点,另一个在崩溃点之前。检查您是否看到合理的摘要,例如“2键对”。