Frage

Ich habe zwei Tableviews (eine Source und eine normale Tableview). Ich bin nicht ArrayControllers verwenden, nur mit:

- (id)tableView:(NSTableView *)aTableView
objectValueForTableColumn:(NSTableColumn *)aTableColumn
            row:(NSInteger)rowIndex;

- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView;

das die Zeile Inhalt anzuzeigen. Aber das Problem ist, dass ich nicht nur ein Tableview - ich habe mehr als eine. So habe ich eine andere NSObject mit diesen Codes innerhalb hinzugefügt. Aber der Inhalt wird nicht zeigen.

Muss ich ArrayControllers? Oder kann ich zeige den Inhalt des zweiten Tableview in einer anderen Art und Weise?

War es hilfreich?

Lösung

Sie müssen nicht Array-Controller verwenden. In der Tat haben sie noch nicht einmal für die meisten Cocoa Leben. Die Datenquelle Protokoll funktioniert gut (noch besser in einigen Fällen).

Sie können die separaten Controller haben (eine für jede Tabelle) natürlich, aber beachten Sie in jedem der Datenquelle und Delegatmethoden (aTableView in Ihrer Quelle oben), einen Verweis auf die Tabellenansicht, so dass Sie einen anderen geben kann Antwort in Abhängigkeit von der Tabellenansicht. Auf diese Weise eine Steuerung für beide Tabellen in Ihrer Master / Detail-UI verantwortlich. Mit anderen Worten:

Table View: "Was ist Spalte A der Zeile 3"

Ihr Controller: "Wer fragt"

In Bezug auf Ihre Daten nicht angezeigt wird, haben instanziiert Sie Ihre zweiten Controller und verbinden die Datenquelle des Problems Tabelle, um es? Haben Sie bitten, den Tisch zu -reloadData? Es ist schwer, das Sie mit den begrenzten Informationen, die Sie gegeben haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top