2014-01-14 2 views
1

이미 이와 비슷한 질문이 있지만 그 중 어떤 것도 나를 찾지 못했습니다. 원하는 것은 열 머리글을 클릭하여 테이블보기를 다시 정렬하는 것입니다. 그리고 내가해야한다고 생각하지 않기 때문에 프로그래밍 방식으로이 작업을 수행하고 싶지 않습니다. 어쨌든 ...NSTableColumn의 바인딩을 사용하여 NSArrayController를 정렬하는 방법은 무엇입니까?

내 managedObjectContext에 바인드 된 NSArrayController에 바인드 된 NSTableView가 있습니다.

특정 NSTableColumn의 경우 모델 키 경로 "amount"가 NSNumber 인 배열 컨트롤러에 바인딩 된 값이 있습니다.

이 NSTableColumn의 속성에는 "정렬 키"와 "선택자"가 있습니다. 정렬 키를 "value.amount"로 설정했는데 (왜 그런지는 알 수 없지만 다른 곳에서는이 값을 보았습니다.) 셀렉터의 기본값은 "compare :"입니다.

다음 NSArrayController에 대해 "공유 사용자 기본값 컨트롤러"에 바인딩하는 "정렬 설명자"라는 바인딩이 나타납니다. "Controller Key"의 기본값은 "value"입니다. (이전에이 값을 사용했던 이유라고 가정합니다.) "모델 키 경로"를 "amount"로 설정합니다.

이 경우 합리적인 것 같지만, 그것은 작동하지 않으며, (2) 두 개의 서로 다른 열을 기준으로 정렬 할 경우에 대한 어떤 또한, (3) 어떻게 정렬하는 기본 방법을 설정하는

UPDATE :?

이 좋아, 그럼 나는 배열 컨트롤러가 관리되는 개체 컨텍스트에 바인딩되어 있습니다. 배열 컨텍스트에 배치 된 배열 컨트롤러에 바인딩 된 테이블 내용이 있고 배열 컨트롤러 selectionIndexes 선택 인덱스. 나는 배열 컨트롤러에 바인딩 된 테이블 열 값을 개체 및 연결된 키 배열 . 정렬 키 f 또는 해당 열은 compare : selector가있는 동일한 키입니다.

헤더를 클릭해도 테이블의 순서가 변경되지 않습니다. 테이블의 정렬 설명자를 바인드해야합니까?

가능한 경우 나에게 사례를 보내주십시오. 도움을

감사합니다,

쳇 모두 NSTableView는과 NSArrayController가 항목을 정렬 할 수 있습니다 당신이 알아야 할

답변

1

우선. 당신은 지금 두 가지를 혼합하려고 노력하고 있습니다. 간단한 사용을 위해, 그냥 tableView에 의존합니다.

따라서 NSArrayController에서 아무 것도 바인딩하지 마십시오. NSTableColumns의 경우 "value.amount"를 사용하지 말고 "amount"만 사용하십시오. "비교 :"선택기에 대한 괜찮습니다.

방금이 프로젝트를 보여주기 위해 작은 프로젝트 (코드 없음)를 만들었으며 정렬 작업에 효과적이었습니다.

+0

감사합니다. 내 업데이트 확인 – Chet