NSTableView
에 선택 항목을 유지하는 데 문제가 있습니다. xCode 8.3.3을 Swift 3.1과 함께 사용하고 MacOS 용으로 구축하고 있습니다."복합 값으로 내용 처리"를 사용하여 TableView 선택을 유지하는 방법
셀 기반 tableView는 IB로 생성되며 테이블의 첫 번째 열에는 NSButtonCell
(확인란)이 있습니다. 이 열은 ModifiersController.arrangedObjects.enabled
에 바인딩됩니다. 체크 박스는 올바르게 체크되고 체크되지 않는 것을 의미하는 예상대로 기능합니다.
문제는 확인란을 클릭하여 상태를 변경하면 선택한 행이 선택 취소되고 첫 번째 행이 선택된다는 것입니다. 체크 박스를 변경할 때 어떤 행이 선택 되더라도 항상 선택되는 첫 번째 행입니다.
내가 예상 한 것은 상자를 선택/선택 해제해도 선택한 행 (강조 표시)에 영향을주지 않아야한다는 것입니다.
은 ArrayController는 'ModifiersController'이라는, 그 Content Array
은 MinimizeModifiers
라는 User Defaults Controller
키에 바인딩됩니다. MinimizeModifiers
은 사용자 정의 Value Transformer
의 값 사전입니다. 이런 내가 설정 한 때문에 에 대한 확인란을 복합 값으로 내용 처리
이 오프 (장애인), 테이블의 선택이 적절하게 유지되는 복합 값으로 내용 처리
, 기본 코드 (UserDefaults에 대한 바인딩)가 작동하지 않습니다.이 복합 값으로 내용 처리에 이며, 사용자 인터페이스 엘리먼트 값이 제대로이 현재 선택를 잃는 테이블을 유발하는 것으로 보일 것입니다 그러나 UserDefaults에 바인딩됩니다.
질문 : 복합 값으로 내용을 처리 할 때 테이블 행 선택을 유지 관리하는 방법은 무엇입니까?
부록
있는 tableView가 selectionIndexes
에 바인딩 및 어레이 컨트롤러가 preserve selection
로 설정 (나는 또한 오프 preserve selection
으로 시도하고와 모두 오프 '빈 선택하지 마십시오'- 성공없이)를. 내가 엑스 코드에 코드를 업데이트 한
그리고 미니 영화 (허용 된 경우) 문제를 보여주는에 대한 링크
... https://www.rgbworld.com/images/stackoverflow/selection.m4vAddendum2 9와 4 번 스위프트는 문제가 지속됩니다.이 문제는 내 KVO 사용 및/또는 보조 변수 사용과 관련이있을 수 있습니다. @objc dynamic var
누군가가 도움을 줄 수 있도록 Github 저장소를 만들었습니다. 나는이 문제를 해결할 수있는 개발자를위한 현상금을 추가 할 것이다.
Githib 리포
https://github.com/rgbworld/CompoundTransformer https://github.com/rgbworld/CompoundTransformer
당신이 배열 컨트롤러에 테이블 뷰의 '선택 인덱스'를 결합 했습니까? 'Preserve Selection'이 켜져 있습니까? – Willeke
@Willeke 답장을 보내 주셔서 감사합니다. 예, 예. 설정을 표시하는 질문이 업데이트되었습니다. – rgbworld
이 문제는 재현 할 수 없지만 확인란을 클릭해도 데이터가 저장되지는 않습니다. 이상한 일이 벌어지고 있는데, 테이블 뷰에서 선택을 처리하는 방법을 찾으려고 할 때이 질문 [NSArrayController preservesSelection을 사용자 정의 객체에 저장하는 방법] (https : // stackoverflow. com/questions/46233759/how-to-make-nsarraycontroller-preservesselection-custom-object를위한 선택). – Willeke