2013-12-18 4 views
-1

Nssarray라는 이름의 카메라맨이 있습니다. 그 안에는 카메룬 정보 클래스 개체의 컬렉션이 있습니다.개체 배열에 저장된 정수 값을 기준으로 NSarray를 정렬합니다.

[ cameraInfoObject1 , cameraInfoObject2, cameraInfoObject3 , ...etc] 

각 camerInfo 개체에 대해 하나의 속성, 즉 cameraindex가 정수입니다.

따라서 cameraInfoObject1.Cameraindex입니다.

따라서 카메 라 목록 안의 모든 cameraInfoObject에있는 속성 인 카메라 인덱스를 기반으로 내 카메라맨리스트를 정렬하고 싶습니다.

은 현재 내가 사용하고이

NSSortDescriptor* sortDescriptor = [NSSortDescriptor  sortDescriptorWithKey:@"camerainfo.cameraindex" ascending:YES selector:@selector(intValue)]; 
    [self.service.gMyCameraList sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]]; 

하지만 내 응용 프로그램 충돌 즉시 컨트롤이 지점에 도달한다. 이 같은

+2

다른 사람들이 자신의 물건을 읽고 도움을 줄 것으로 기대할 때 문장을 대문자로 바꾸고 올바른 형식을 사용하는 데 시간이 좀 걸리시겠습니까? – DrummerB

+0

스택 추적을 게시하십시오. – trojanfoe

+0

정렬 설명자 키가 cameraindex가되어야합니다 – ChrisH

답변

1

시도 뭔가 : 그냥 이름을 변경하지 않을 경우

NSArray *sortedArray; 
sortedArray = [self.service.gMyCameraList sortedArrayUsingComparator:^NSComparisonResult(CameraInfo a, CameraInfo b) { 
    if (a.Cameraindex < b.Cameraindex) { 
     return (NSComparisonResult)NSOrderedAscending; 
    } else if (a.Cameraindex > b.Cameraindex) { 
     return (NSComparisonResult)NSOrderedDescending; 
    } 
    return (NSComparisonResult)NSOrderedSame; 
}]; 

, 당신의 객체가 CameraInfo 형 있다고 가정.

관련 문제