2011-04-08 6 views
1

iOS 3.1.3에서 내 앱을 실행하려고하면 문제가 발생합니다. 4.1에서 내 앱을 실행해도 문제가 없지만 3.1.3 앱이 다운됩니다. 이 줄 내 애플 충돌 : 여기NSMutableArray NSDictionary로 iOS 3.1.3 문제

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

그리고 내 코드의 일부입니다 :이 문제는 4.1에서 완벽하게 작동 만 아이폰 OS 3.1.3에서 발생 말했듯이

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

. ur 도움을위한 Thx !!

+0

충돌 메시지 란 무엇입니까? – kennytm

+0

왜 사촌 dun 그것을 볼 수 없지만 xCode 내게 응용 프로그램을 디버그 못하게, 그것을 내 아이폰을 설치하고 난 그것을 실행하지만, 그것을 디버깅 할 수 없습니다. –

+1

콘솔 출력과 같은 오류 세부 정보를 게시하십시오. 호출하는 일부 API가 3.1.3에서 지원되지 않기 때문에 해당 버전에서 데이터가 전혀없는 것일 수 있습니다. 요소가 있는지 확인하지 않고 배열에 액세스하므로 비어있는 경우 충돌이 발생합니다. – Joe

답변

0

아래 첨자가 범위를 벗어났습니다. getAllAtmByLocation:이 빈 배열을 반환 할 가능성이 있습니까? 당신의 [atmData count]을 확인

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

예! Thx는 내 문제를 해결합니다. 그러나 이것이 3.1.3에서만 발생하는 이유는 무엇입니까? –

0

와 배열이 실제로 요소를 포함해야합니다 : 당신은 당신의 조건이 변경 될 수 있습니다. 배열을 채우기 위해 사용하는 것은 무엇이든간에 3.1.3에서는 지원되지 않을 수 있습니다.

관련 문제