다른 클래스 (modelArray
)에 바인딩 된 내용을 사용하여 사용자 정의 클래스 (MyClass
) 배열을 배열 컨트롤러 (NSArrayController
)에 프로그래밍 방식으로 바인딩하고 싶습니다. MyClass
은 NSTableView
과 같이 배열 내용을 표시합니다.NSArrayController의 배열 된 객체에 바인딩하는 방법
내 문제는 경우 : 변경 가능한 배열의 메소드가 호출되도록 방법이 바인딩을 만드는 방법, 그 방법
내가 이런 식으로 결합하는 경우 이-(void) insertObject:(id)object inContentAtIndex:(NSUInteger)index
-(void) removeObjectFromContent:(id) object
이 이 이
는 (1) 위의 방법이 라고이다 하지만 컨트롤러의 콘텐츠는 더 이상 (분명히)이 modelArray
[myArrayController bind:@"contentArray" toObject:myClassInstance withKeyPath:@"content" options:nil];
나는이 방법으로 결합하는 경우 (2)에만 setContent:
및 content
방법이라고 아닌 가변 방법에 바인딩되지 않습니다. 또한 나는 그 방법 (setContent:
및 content
)를 제거하려했지만 그것은 단지 setValue:forUndefinedKey:
[myClassInstance bind:@"content" toObject:myArrayController withKeyPath:@"arrangedObjects" options:nil];
또는
[myClassInstance bind:@"content" toObject:myArrayController withKeyPath:@"content" options:nil];
나는 생각하지 않는다 전체 테이블의 배열이되어 다시 세트를 예외가 발생 배열 컨트롤러에 바인드 될 때마다 라인이 추가 될 때마다 동일한 바인딩이 필요합니다.