View-basiertes NSTableView programmgesteuert mit Bindings in Swift @ erstell

Ich arbeite gerade an einem Cocoa in Swift-Buch und bin in einem Kapitel über Bindungen gefangen. Das Buch verwendet NIB-Dateien, aber ich möchte alles programmatisch erledigen (da ich mich einem Team anschließe, das keine NIBs verwendet). Das Projekt erstellt eine ansichtsbasierte Tabelle mit 2 Spalten. Der Inhalt der Tabelle ist an das @ gebunde arrangementObjects eines Array-Controllers. Der Inhalt des Array-Controllers ist an ein Array von Employee-Objekten gebunden (Employee hat zwei Eigenschaften, nämlich Name und Gehalt).

Ich konnte die Tabelle wie folgt programmgesteuert erstellen (eine Bildlaufansicht, eine Tabellenansicht, 2 Tabellenspalten):

let tableWidth = windowWidth! * 0.6
let tableHeight = windowHeight! * 0.8

scrollView = NSScrollView(frame: NSRect(x: windowWidth!*0.05, y: windowHeight!*0.08, width: tableWidth, height: tableHeight))

employeeTable = NSTableView(frame: NSRect(x: 0, y: 0, width: tableWidth, height: tableHeight))
employeeTable?.bind("content", toObject: (self.arrayController)!, withKeyPath: "arrangedObjects", options: nil)

nameColumn = NSTableColumn(identifier: "name column")
nameColumn?.width = tableWidth * 0.4
nameColumn?.headerCell.title = "Name"

raiseColumn = NSTableColumn(identifier: "raise column")
raiseColumn?.width = tableWidth * 0.6
raiseColumn?.headerCell.title = "Raise"

employeeTable?.addTableColumn(nameColumn!)
employeeTable?.addTableColumn(raiseColumn!)
employeeTable?.setDelegate(self)

scrollView?.documentView = employeeTable

Wie Sie sehen können, habe ich keine Ahnung, ob diese Tabelle auf Zellen oder auf Ansichten basiert. Wie kann ich feststellen, worauf meine Tabelle basiert? Da sich das Kapitel auf Bindungen bezieht, werden keine Delegat- oder Datenquellenmethoden verwendet, und ich möchte dasselbe tun.

Nächste Frage: Wie gesagt, das Buch verwendet NIBs und hat direkten Zugriff auf NSTableView, NSTableCellView und das darunter liegende NSTextField. Zunächst wurde der Inhalt von NSTableView an die arrangementObjects des Array-Controllers gebunden. Ich konnte diesen Teil programmgesteuert ausführen, da ich das tableView-Objekt selbst in Code erstellt habe. Das Buch bindet dann den Wert von NSTextField an den objectValue.name von NSTableCellView (name ist eine der Eigenschaften des Employee-Objekts). Wie mache ich diesen Teil, da ich diese NSTableCellView- und NSTextField-Objekte in meinem Code nicht erstellt habe? Gibt es eine Möglichkeit, auf sie zuzugreifen (vorausgesetzt, meine Tabelle ist sogar ansichtsbasiert)?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage