2012-10-28 4 views
0

충돌이 나는 기기 수령하고있는 오류입니다 코드의 두 번째 라인에있어서 didSelectRowAtIndexPath 내가 사전 배열 로그 아웃U_ILLEGAL_ARGUMENT_ERROR 내 응용 프로그램

// This predicate restricts the filterDataArray to the related values of the selected index 
      NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K like %@",@"MASTER",cell.textLabel.text]; 
      filterDataArray = [dataArrayOfDictionaries filteredArrayUsingPredicate:predicate]; 

아래 도시이 사전 값 중 하나의 모습이다.

{ 
     HASM = 1; 
     ISM = 0; 
     ISV = 0; 
     MASTER = Merc; 
     MANURE = 96; 
    } 

배열에는 약 60 개 또는 17 개의 사전이 있습니다. 도움을 주시면 대단히 감사하겠습니다.

답변

1

내가 제대로이 경우 술어를 사용하지 않는 생각, 내가 인해 캐치되지 않는 예외 'NSRangeException'응용 프로그램 종료, 이유는이 오류 *** 주어졌다 그 코드이

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"MASTER CONTAINS [c]%@", cell.textLabel.text]; 
filterDataArray = [dataArrayOfDictionaries filteredArrayUsingPredicate:predicate]; 
+0

시도 : '** * - [__ NSArrayI objectAtIndex :] : 빈 배열의 경계를 넘는 인덱스 0입니다. *** 첫 번째 호출 스택을 던집니다. *** – HurkNburkS

+0

filterDataArray가 비어있을 수 있으며 인덱스 0의 배열에서 객체를 가져 오려고합니다. , 필터링 후 다음과 같습니다 – NeverBe

+0

방금 ​​내 술어를 확인하고 어떤 이유로 cell.textLabel.text를 추가하지 않습니다 .. 그래서 그냥 마스터처럼 " – HurkNburkS