2013-08-18 6 views
1

다음 핵심 데이터 설정이 있습니다.NSTableView 내의 NSCollectionView (관련 엔티티와 바인딩)

Data Setup

I 특정 medleyid와 SongsInMedleys의 콘텐츠를 포함하도록 구성된다 "SongsInMedleys"라는 어레이 제어기를 만들었다.

SongsInMedleys 배열 컨트롤러에 바인딩 된 뷰 기반 Tableview를 만들었습니다.

잘 작동하고 있으며 표 셀보기에 바인딩하고 모델 키 경로에서 objectValue.withSongs.title을 사용하여 라벨에 노래 제목 세트를 가져올 수있었습니다. 내 문제에 이제

:

내가 관련 노래에 대한 모든 구절로 표 셀 내부보기 컬렉션 뷰를 생성하고 싶습니다. (objectValue.withSongs.withVerses)

내가 어떻게 할 수 있는지에 대한 제안 ??? 내가 만들려고하고있는 무슨의

모델 : Model

+0

의 하위 클래스에서 수동으로 구절을 추가? –

+0

아니요. 트리 컨트롤러가 어떻게 작동하는지 살펴 보겠습니다. –

답변

0

몇 가지 조사 후 나는있는 tableview 내부 Collection 뷰를 추가하는 시도를 포기했다. Insted 나는 당신이 그 키 패스와 트리 컨트롤러에 해당 셀에서 설정 한 바인딩에 그 내용을 결합하는 treeController를 설정 않은 NSTableCellView

-(void) setObjectValue:(id)objectValue { 

    if (objectValue != nil) 
    { 
    [super setObjectValue:objectValue]; 

    SongsInMedleys *Sim = objectValue; 
    Songs *song = Sim.withSongs; 

    scrollView *scrollview = [[scrollView alloc] initWithFrame:NSMakeRect(10,5,[self frame].size.width-30,145)]; 

    int addverses = 0; 

    for (VersesInSongs *verse in song.withVerses) 
    { 
     if ([verse.lyric length] > 0) { 
      addverses += 1; 
     } 

    } 

    NSView *view = [[NSView alloc] initWithFrame:NSMakeRect(5, 10, ((addverses * (169+5))+5), 140)]; 


    int x = 5; 

    NSSet *Verses = song.withVerses; 
    NSSortDescriptor *sortVerses = [[NSSortDescriptor alloc] initWithKey:@"number" ascending:YES]; 
    NSArray *sortedVerses = [Verses sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortVerses]]; 

    for (VersesInSongs *verse in sortedVerses) 
    { 
     if ([verse.lyric length] > 0) { 
      verseBox *box = [[verseBox alloc] initWithFrame:NSMakeRect(x, 10, 169, 130)]; 

      [box setSong:song]; 
      [box setVerse:verse]; 
      [view addSubview:box]; 

      x = x + 169+5; 
     } 

    } 
    [scrollview setDocumentView:view]; 
    [self addSubview:scrollview]; 
    } 
} 
+0

테이블 뷰 셀에 컬렉션을 넣을 방법이 없다는 결론이 있습니까? – tofutim