2012-09-23 20 views
6

Während versuchen, einen Blick auf Basis Tabelle zu erstellen, es hält die anstelle des viewForTableColumnobjectValueForTableColumn Funktion aufrufen.viewForTableColumn wird nicht ausgeführt (aber objectValueForTableColumn ist)

Ich habe die Tabellen-Ansicht auf „Ansicht Basis“ in den Einstellungen. Aber ich kann immer noch nicht die korrekte Funktion aufrufen. Ich habe mir die Implementierung von Apple-Beispielen (tableviewplayground) angeschaut und an manchen Stellen sogar die IB kopiert und eingefügt, funktioniert immer noch kein Fortschritt.

Der entsprechende Code:

// Should run 
- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row 
{  
    return nil; 
} 

// Gets run 
-(id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row 
{ 
    return nil; 
} 

Zwei Bilder, nicht sicher, wie nützlich sie sind aber nach wie vor. http://imgur.com/a/ix34Q

Antwort

16

Ein paar Dinge zu überprüfen:

  • Hat Ihr NSTableView haben seine delegate Satz der Klasse, dass implementiert das NSTableViewDelegate Protokoll? (Ich frage, weil tableView:viewForTableColumn:row: ist ein Delegatmethode während der tableView:objectValueForTableColumn:row: wird eine Datenquelle Methode.)

  • Gibt es irgendwelche Bindungen, die in IB gesetzt werden? (Sie erwähnen, dass Sie die Spitze aus einem bestehenden Projekt kopiert.) Überprüfen Sie vor allem für Bindungen zum NSTableView Inhalt Bindung und an die Subviews der vorgesehenen Ansicht (in der Regel das Textfeld.)

  • Haben Sie die numberOfRowsInTableView: Methode implementieren aus dem NSTableViewDataSource Protokoll und gibt es eine 0-Ganzzahl ungleich 0 zurück?

Schließlich könnten Sie einen Blick auf die Table View Programming Guide Kapitel haben auf "Bestücken von View-Based Tabellenansichten Programmatically" in der Dokumentation.

+2

Eigentlich sollte es als Delegierter verknüpft werden. Danke vielmals! –

+0

Sicher, mein Vergnügen. – FluffulousChimp

+0

Der erste Punkt war mein Problem. Es ist ein wenig verwirrend diese Methoden gehören zu verschiedenen Methoden (Protokoll | Datenquelle) Danke! –

Verwandte Themen