2014-02-16 4 views
2

NSTableColumn의 headerTitle 속성을 (NSArrayController를 통해) 내 모델 레이어의 NSMutableArray에 바인딩하고 싶습니다.NSTableColumn의 headerTitle에 어떻게 바인딩 할 수 있습니까?

기본적으로 값을 변경하고 테이블 열 머리글 제목을 업데이트 할 수있는 배열을 갖고 싶습니다. 그게 합리적입니까?

그러나 the headerTitle binding은 하나의 NSString을 원하며 내 모델 개체를 내 바인딩 NSArrayController을 통해 연결하는 방법을 잘 모르겠습니다. Google은이 문제에 대한 많은 히트를 제공하지 않습니다.

내 모델 계층은 두 클래스로 구성됩니다 (둘 다 적절하게 KVC를 준수합니다). 첫째는 하나 개의 속성 title

// A model class representing the column title of single NSTableColumn 
@interface ColumnTitle : NSObject 
@property NSString *title; 
+ (ColumnTitle*) columnTitleWithTitle:(NSString*) aString; 
@end 

ColumnTitle 오브젝트의 정렬기를 나타내는 모델 객체 번째

// Class representing an order collection of model items 
@interface TableColumnTitles : NSObject 
@property NSMutableArray* columnTitles; // an array of ColumnTitle objects 
// These are the KVC array accessors 
-(void) insertObject:(ColumnTitle*)columnTitle inColumnTitlesAtIndex:(NSUInteger)index; 
- (void)removeObjectFromColumnTitlesAtIndex:(NSUInteger)index; 
- (void)replaceObjectInColumnTitlesAtIndex:(NSUInteger)index withObject:(ColumnTitle*)columnTitle; 
@end 

참고 갖는 단일 열 제목을 나타내는 모델 TableColumnTitles 개체 바인딩에 필요한 위의 배열 접근자를 구현합니다. 어떤 제안?

답변

1

이전에 시도한 적이 없지만 실제로 배열 색인 인에 KVC를 사용하고 있습니다. 빠른 구글은 (아직 가능하지 않다는 것을 나타내는) 일부 결과를 제외하고는 그 문제에 대해서는 아무 것도 나타나지 않았다. (this)

가장 쉬운 해결 방법은 간단하게 배열 인덱스 .. 좋지는 않지만 일을합니다. 당신이 뭔가를 할 것 NSString

은 그래서 NSMutableArray에 대한 유형의 title 속성 myArray 및 포함 개체라고 : 항상 물론 자신의 번호가 사전에 알려져 있으며, 우리는 200을 이야기하지 않는 가정

@property (nonatomic, readonly, getter = columnOneGetter) NSString *columnOneString; 

(NSString*) columnOneGetter 
{ 
    return myArray[0].title; 
} 

columns :-)

+0

나는 단지 바인딩을 시작하려고하고 있고, 당신의 아이디어를 구현하는 방법을 모르겠습니다. 좀 더 자세히 설명해 주실 수 있습니까? 또한 일반적으로'NSTableColumn'의'headerTitle' 바인딩을 어떻게 사용 하시겠습니까? 비정상적인 방식으로 사용하고 있습니까? 기본적으로 배열 컨트롤러에서 값을 변경하여 테이블 머리글 제목을 설정할 수 있어야합니다. 그것은 너무 논란의 소리가 아니지만, 나는 이것을 어디서나 어떻게하는지에 대한 모범을 발견 할 수 없다! –

+0

답변 됨 편집 됨 - 보통 면책 조항 : 브라우저에 입력, 테스트 또는 디버깅되지 않음 등 – Jay

+0

현재 선택 항목을 헤더에 바인딩하는 데 이상한 소리가 들리지만 적어도 필자는 ' d 테이블의 선택된 행이 변경 될 때 헤더를 변경하려고합니다. – Jay

관련 문제