코코아의 바인딩을 사용하여 편집 가능한 nstable view를 nsmutablearray에 연결할 수 있습니까?
-
03-07-2019 - |
문제
나는 이것에 대한 대답이 "아니오"가 될 것이라는 비트와 조각들로부터, 내가 망치려고하는 (가능성이있는) 사건에서 내가 달성하려는 것을 광범위하게 설명 할 것입니다. 나사.
내 앱에 가지고있는 것은 읽을 수있는 유효한 파일 확장 목록이며 디렉토리를 통해 되풀이됩니다. 나는 이것을 선호하기를 원하기 때문에 다음과 같은 것을 얻었습니다.
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와 함께 :.
구조 자체의 선호도 값의 경우, 구조를 변경하려면 이전 구조를 읽고 수정하고 변경 한 다음 해당 구조를 새 값으로 설정하는 데 필요한 부분의 변이 가능한 사본을 만들어야합니다. 불행히도 그것은 바인딩에 적합하지 않으므로 바인딩 어레이의 프리프로 변경되는 접착제 층이 필요합니다.
제휴하지 않습니다 StackOverflow