코코아의 바인딩을 사용하여 편집 가능한 nstable view를 nsmutablearray에 연결할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/820717

문제

나는 이것에 대한 대답이 "아니오"가 될 것이라는 비트와 조각들로부터, 내가 망치려고하는 (가능성이있는) 사건에서 내가 달성하려는 것을 광범위하게 설명 할 것입니다. 나사.

내 앱에 가지고있는 것은 읽을 수있는 유효한 파일 확장 목록이며 디렉토리를 통해 되풀이됩니다. 나는 이것을 선호하기를 원하기 때문에 다음과 같은 것을 얻었습니다.

NSMutableDictionary *dic = [NSMutableDictionary dictionary];
[dic setObject:[NSMutableArray arrayWithObjects:@"pdf", @"rtf", @"txt", nil] forKey:@"validExtensions"];
[[NSUserDefaults standardUserDefaults] registerDefaults:dic];

그리고 NSTableView를 공유 사용자 기본값 컨트롤러에 바인딩하는 NSARRAYCONTROLLER에 묶고 있습니다 ...

이것은 사용자 가해질 가능한 유효한 확장 목록을 갖는 것에 대한 잘못된 접근법입니까? nsuserDefaults의 역할을 오해 했습니까?

도움이 되었습니까?

해결책

제목에 제기 된 질문에 대한 답은 "예"입니다. 그러나 불행히도 실제 NSUSERDEFAULTS Backing Store에서 데이터 구조의 돌연변이가 통과하는 객체의 돌연변이에 의해 제어되지 않기 때문에 도움이되지 않습니다. RegisterDefaults와 함께 :.

구조 자체의 선호도 값의 경우, 구조를 변경하려면 이전 구조를 읽고 수정하고 변경 한 다음 해당 구조를 새 값으로 설정하는 데 필요한 부분의 변이 가능한 사본을 만들어야합니다. 불행히도 그것은 바인딩에 적합하지 않으므로 바인딩 어레이의 프리프로 변경되는 접착제 층이 필요합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top