2013-01-21 3 views
2

Objective-C에서 며칠 동안 코딩을 시작했는데 테이블보기에 대한 질문이 있습니다.하나의 대표단이 여러 파일에 걸쳐 살고 있습니까?

이것은 myViewController.h 내 선언은

@interface MainViewController : NSViewController < NSTableViewDataSource, NSTableViewDelegate, NSStreamDelegate> 

파일 내가 myViewController.m에서 전역 변수 NSMutableArray * messages;을 가지고있다. 파일에서이 메시지를 업데이트했습니다.

anotherFile.m에 extern NSMutableArray * messages;이 있는데이 파일에서도 메시지를 업데이트합니다.

테이블보기에서 메시지를 인쇄해야하는데, 문제는 다음과 같습니다. [my.tableview reloadData]를 사용하여 myViewController.m의 업데이트 만 인쇄 할 수 있지만 anotherFile.m은 인쇄 할 수 없습니다. 문제를 어떻게 해결할 수 있습니까?

+0

한 바로 가기 팁' '필요하지 않습니다 . –

+0

감사합니다. 위임 메서드를 사용하여 문제를 해결했습니다. – Helen

답변

2

아마 가산기 및 MainViewController의 제거 방법이 있어야합니다, 그 때문에 뭔가처럼 ... 당신의 백업 데이터 저장소를 노출보다 낫다 :

-(void)addObjects:(NSSet *)objects 
{ 
    for(id obj in objects) 
    { 
     [messages addObject:obj]; 
    } 
    [reload data]; 
} 
+0

바인딩에 관심이있는 경우 KVO를 통해 무료로 NSArrayController를 사용하면됩니다. –