2016-07-26 13 views
0

Tableview wird geladen, aber keine Steckdose aus benutzerdefinierten Zelle AnzeigeNSTableView mit benutzerdefinierten tablecellview keine Anzeigen von Daten

class ViewController: NSViewController,NSTableViewDataSource,NSTableViewDelegate { 

override func viewDidLoad() { 
    super.viewDidLoad() 
    //let color : CGColorRef = CGColorCreateGenericRGB(1.0, 0, 0, 1.0) 
    self.view.layer?.backgroundColor = NSColor.whiteColor().CGColor  

    // Do any additional setup after loading the view. 
} 

override var representedObject: AnyObject? { 
    didSet { 
    // Update the view, if already loaded. 
    } 
} 

func tableView(tableView: NSTableView, viewForTableColumn tableColumn: NSTableColumn?, row: Int) -> NSView? {  

    let cell = tableView.makeViewWithIdentifier("AppointmentCell", owner: self) as! AppointmentCell! 

    if tableColumn!.identifier == "Column" { 
     return cell 
    } 
    return cell 
} 

func numberOfRowsInTableView(tableView: NSTableView) -> Int { 
    return 5 
} 

func tableView(tableView: NSTableView, heightOfRow row: Int) -> CGFloat 
{ 
    return 100   
} 
} 
class AppointmentCell: NSTableCellView { 
    @IBOutlet weak var Start: NSButton! 
    @IBOutlet weak var Increment: NSButton! 
    @IBOutlet weak var decrement: NSButton! 
    @IBOutlet weak var addNotes: NSButton! 

    override func drawRect(dirtyRect: NSRect) { 
     super.drawRect(dirtyRect)  
     // Drawing code here. 
    }   
} 

Antwort

0

Sie müssen überprüfen, ob Zelle vorhanden ist. Nachdem Sie eine Zellenansicht aus der Tabellenansicht entfernt haben, sollten Sie den Inhalt in der Zellenansicht festlegen. Es tritt normalerweise in func tableView auf (tableView: NSTableView, viewForTableColumn tableColumn: NSTableColumn ?, Zeile: Int) -> NSView?