2013-01-16 2 views
0

을있는 NSString있는 NSDictionary, NSArray를 다음iOS : 값을 확인 하시겠습니까?

이 값은 내가 행에서 항목을 선택하면 나에게 예외의 모든 종류를주고있다 TVC didSelectRowAtIndexPath 방법의 처음 세 줄 건너 뛰기.

어떻게 할 :

을 수행합니다. 아래의 dictionary, array 및 selectedCategory에 값이 있는지 확인하십시오.

b. 그들이 그렇지 않은 것으로 판명되면 그들이하는 일을 보장해야합니까?

NSDictionary *dictionary = [listOfItems objectAtIndex:indexPath.section]; 
NSArray *array = [dictionary objectForKey:@"News"]; 
NSString *selectedCategory = [array objectAtIndex:indexPath.row]; 

여기에 : UIView의있는 tableView에서

예외 : numberOfRowsInSection :] : 인식 할 수없는 선택기 예를 0x7193a60

+0

처음 세 줄에는 문제가 숨겨져 있다고 생각합니다. 사전, 배열 및 selectedCategory에 값이 있는지 확인하십시오. – Madman

+0

Madman, 고맙습니다. 질문의 범위를 중점적으로 설명했습니다. – Morkrom

+1

응용 프로그램이 손상된 경우 예외 중단 점을 중단 점 탐색기에 추가하십시오. 앱이 다운되기 전에 앱이 중지됩니다. – Fogmeister

답변

0

다음은 간단한 조정입니다. 일반적으로 이러한 모든 데이터 수집을 중첩하는 것보다 데이터를 저장하는 더 좋은 방법이 있지만, 충돌을 막아야하는 기존 데이터를 대체하는 간단한 방법입니다.

// First check your listOfItems 
NSDictionary *dictionary = NULL; 
if (listOfItems.count > indexPath.section) { 
    dictionary = [listOfItems objectAtIndex:indexPath.section]; 
} 

// Next check your dictionary isn't null. 
NSArray *array = NULL; 
if (dictionary) { 
    array = [dictionary objectForKey:@"News"]; 
} 

// Next check your array and make sure your array has values. 
NSString *selectedCategory = NULL; 
if (array.count > indexPath.row) { 
    selectedCategory = [array objectAtIndex:indexPath.row]; 
} 

// Finally do your stuff 
if (selectedCategory) { 
    // Do your stuff 
} else { 
    // Something went wrong along the way and you don't have a selectedCategory string. 
} 
+0

솔루션을 구현 한 후에도 동일한 문제가 있기 때문에 다른 문제가 있습니다. – Morkrom

+0

실제 오류로 귀하의 질문을 업데이 트하고 우리는 그들을 하나씩 해결할 수 있습니다 :) –

+0

UIView에서 예외 tableView : numberOfRowsInSection :] : 인식 할 수없는 셀렉터가 인스턴스로 전송 됨 0x7193a60 – Morkrom

0

NSPlaceholderString의 initWithString 방법은 같은 nil이있어 보인다 전송 논의. 이렇게 정확히 언제 발생하는지 알아 내려면 예외 중단 점을 추가하는 것이 좋습니다.

dictionary == nil; 

array == nil; 

[selectedCategory isEqualToString:@""]; 

selectedCategory == nil; 

이 많은 방법이 있습니다 ... ...

[dictionary count]; 

[array count]; 

[selectedCategory length]; 

을 살펴 here

+0

이 작업을 수행했지만 이전과 마찬가지로 main.m에서 같은 지점으로 연결됩니다. – Morkrom

0

그들은 당신이 확인할 수있는 값이 있는지 확인하려면를 타고하거나 같은 것을 확인할 수 있습니다. 정확히 무엇을 요구하고 있는지 확신 할 수는 없지만 확인할 수 있습니다.