2011-02-13 6 views
1

NSTableView 정렬에 이상한 문제가 있습니다.NSTableView 정렬 문제 (KVC 사용)

에 4 개의 열이있는 NSTableView를 사용하여 간단한 앱을 만들었습니다. 그런 다음 KVC를 사용하여 어레이 컨트롤러에 바인딩했습니다.

그런 다음 NSMutableArray에 일부 데이터를 추가했습니다.

는 Bulid & & 실행 응용 프로그램과 나는 테이블 안에 데이터가 correctlly 정렬 할 수 있습니다 헤더를 클릭하여 데이터를 볼 수 있습니다.

모든 것이 이제까지 정상적으로 작동합니다.

그런 다음 각 열 에 "caseInsensitiveCompare"를 추가하려고했습니다. 그래서 IB를 열고 분류 키와 각 열에 선택기 ("caseInsensitiveCompare :")를 설정합니다.

그런 & & 실행 응용 프로그램을 Bulid,하지만 난 종류에 헤더를 클릭하면, 나는 오류 메시지가 있어요 : 그런 다음

-[NSCFNumber caseInsensitiveCompare:]: unrecognized selector sent to instance 0x1006254f0 
-[NSCFNumber caseInsensitiveCompare:]: unrecognized selector sent to instance 0x1006254f0 
...... 

내가 정렬 키와 선택의 모든 컨텐츠를 삭제 시도를 각 열의. 그리고 앱이 다시 확인되었습니다.

무엇이 문제입니까? 정말 ... 혼란 스러워요

PS : 나는 비교를 사용하는 경우 : caseInsensitiveCompare :, 모든 것이 잘 다시 작동하는 대신에 ... 당신의 객체 (예 : 재산이나 키 등) 값의

답변

0

하나 NSMutableArray의 경우 NSNumber입니다. 이 수업은 숫자를 다루기 때문에 caseInsensitiveCompare: 선택자에 응답하지 않습니다. 이 셀렉터는 NSString에 의미가 있습니다.

숫자 값을 표시하는 테이블보기의 열은 값 정렬을 위해 compare:을 계속 사용해야합니다.