NSMutableArray для NSDictionary iOS 3.1.3 проблема - PullRequest
1 голос
/ 08 апреля 2011

У меня проблема при попытке запустить приложение на 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 голосов
/ 08 апреля 2011

Проверьте ваш [atmData count] и убедитесь, что массив действительно содержит элемент. Может быть, все, что вы используете для заполнения массива, не поддерживается в 3.1.3.

0 голосов
/ 08 апреля 2011

Я предполагаю, что вы получаете индекс из-за ошибки диапазона.Возможно ли, что getAllAtmByLocation: возвращает пустой массив?Вы можете изменить свое условие на:

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