2016-07-29 2 views
0

iOS 앱을 구축 중입니다. NSMutableArray를 정렬해야하므로 NSSortDescriptor를 사용했습니다. 그러나, 내 애플 리케이션을 실행할 때 불행히도 Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<NSTaggedPointerString 0xa000000343730314> valueForUndefinedKey:]: this class is not key value coding-compliant for the key ID.' 얻을. NSSutableDescriptor를 사용하여 NSMutableArray를 정렬하십시오.

내가 사용하고 코드입니다 : 난 그냥 customerArray = [[NSMutableArray alloc] initWithArray:[rootDict allKeys]];를 사용 할 때 전에

customerArray = [[NSMutableArray alloc] initWithArray:[rootDict allKeys]]; 
NSSortDescriptor *numberSorter = [NSSortDescriptor sortDescriptorWithKey:@"ID" ascending:YES selector:@selector(localizedStandardCompare:)]; 

[customerArray sortUsingDescriptors:@[numberSorter]]; 

, 나는 아무 문제가 없었다. 다른 두 줄을 추가하면 문제가 생기기 시작했습니다. 중단 점을 사용하여 충돌이 발생한 곳을 확인한 후 마지막 줄 ([customerArray sortUsingDescriptors:@[numberSorter]];)을 실행하려고 시도한 후에 충돌이 발생했음을 발견했습니다.

도움을 주시면 감사하겠습니다. 필요한 경우 더 많은 코드를 기꺼이 추가하겠습니다.

+2

'customerArray'문자열의 요소가 있습니까? 그렇다면, 존재하지 않는 요소의 ID 속성을 비교하기 때문에 오류가 발생합니다. 설명자를 제거하고'[customerArray sortUsingSelector : @selector (localizedStandardCompare :)]'를 사용하여 요소를 직접 비교하십시오. – Doc

+0

@Doc 맞아요, 문자열 이었지만 완전히 잊어 버렸습니다. 이전에 생성되었습니다. 고마워요. 그걸 답으로 써 주면 받아 들일 것입니다. – JustMe

답변

0

고객님의 케이스에있는 NSMutableArray 내부의 개체 즉, 이름이 ID (정의되지 않은 키) 인 키가없는 것을 의미하는 오류 valueForUndefinedKey이 표시됩니다.

NSMutableArray 내부의 객체를 확인해야합니다.

호프가 문제를 해결할 수 있기를 바랍니다.

관련 문제