를 업데이트하지 않습니다변경 내가 가진 NSUserDefaults
- NSTableView는이 NSTableCellViews로 채워
- 각 NSTableCellView은 NSArrayController
- 에 바인딩 된 체크 박스, 이미지 및 텍스트
- NSTableView는있다 NSArrayController의 내용 배열은 NSUserDefaults의 사전 배열에 바인딩됩니다.
NSTableView는 NSUserDefaults 배열을 읽습니다. 각 체크 상자, 이미지 및 텍스트 항목에 대한 올바른 항목 수와 값을 표시합니다. 그러나 체크 박스를 클릭해도 NSUserDefaults에 저장된 값은 변경되지 않으므로 앱을 다시 열면 전체 테이블이 재설정됩니다.
이 SO post은 동일한 문제를 제기했지만 어레이 컨트롤러의 바인딩 환경 설정에서 "내용을 복합 값으로 처리"하는 해결책은 나에게 적합하지 않았습니다.
무엇이 누락 되었습니까?
다른 대답이 직접 어레이 컨트롤러를 바인드 된 텍스트 필드를했다 :
checkbox 값을 objectvalue.key에 바인딩하기위한 "복합 값으로 복합 값 처리"설정이 없습니다. 배열 컨트롤러의 콘텐츠 배열 만 바인딩하면 해당 옵션이 제공됩니다. –
흠. 네가 옳아. 나는 문제의 근원에 대한 나의 분석이 여전히 유효하다고 생각하지만, 나는 다른 해결책을 제안하기 위해 나의 대답을 업데이트했다. –