NSMutableArray到NSDictionary iOS 3.1.3问题

时间:2011-04-08 18:21:08

标签: iphone ios nsmutablearray nsdictionary

当我尝试在iOS 3.1.3上运行我的应用时遇到问题 我在4.1中运行我的应用程序并且没有问题,但3.1.3我的应用程序崩溃。 我的应用程序崩溃在这一行:

NSDictionary *atm= (NSDictionary *)[atmData objectAtIndex:0];

这是我的一段代码:

DataHelper *mydata = [[DataHelper alloc] init];
NSMutableArray *atmData = [mydata getAllAtmByLocation:appDelegate.userLocation];    
if(atmData != nil){
   NSDictionary *atm= (NSDictionary *)[atmData objectAtIndex:0];
   //...
}

就像我说的,这个问题只发生在iOS 3.1.3上,在4.1中它完美无缺。 谢谢你的帮助!!

2 个答案:

答案 0 :(得分:0)

我猜你得到一个超出范围错误的下标。 getAllAtmByLocation:是否可能返回一个空数组?您可以将条件更改为:

if (atmData != nil && [atmData count] > 0) {
    ...
}

答案 1 :(得分:0)

检查[atmData count]并确保数组实际包含元素。也许在3.1.3中不支持用于填充数组的任何内容。