2017-05-03 1 views
0

Ich habe eine Tabellenansicht, die Daten aus Kerndaten erhält. das funktioniert gut, aber wenn ich den Befehl tbl.reloadData senden wird es meine app chrashes.swift 3 tableview.reloadData stürzt die App

dies ist mein Code für Daten zu erhalten und erneut zu laden:

@IBOutlet weak var tbl: NSTableView! 
    func requestData() { 

     let appdelegate = NSApplication.shared().delegate as! AppDelegate 
     let context = appdelegate.persistentContainer.viewContext 
     let request = NSFetchRequest<NSFetchRequestResult>(entityName: "Test") 

     do { 
      data = try context.fetch(request) as! [Data] 

     } catch { } 

     print(data) 

     tbl.reloadData() 

    } 

print (Daten) zeigt mir erfolgreich alle meine Daten von Kerndaten. aber auf der Linie „tbl.reloadData()“ die App wird mit diesem Fehler abstürzen:

fatal error: unexpectedly found nil while unwrapping an Optional value 
2017-05-03 14:24:47.750618+0200 Programm[36302:1990301] fatal error: unexpectedly found nil while unwrapping an Optional value 
+0

tbl outlet ist korrekt an die View in Interface Builder gebunden? –

+0

ja es ist richtig – Stack108

+0

ALLES OK! ich nicht jetzt warum, aber ich lösche die Verbindung von tableview und Controller und verbinde es wieder - jetzt funktioniert es .... – Stack108

Antwort

1

Das einzige, was null sein kann danach print-Anweisung ist TBL-Objekt. Stellen Sie sicher:

  • Sie haben das IBOutlet ordnungsgemäß angeschlossen.
  • alte Verbindungen vom Storyboard entfernt. Diejenigen, die Sie zuvor erstellt haben und nun den Variablennamen umbenannt haben oder die Variable vollständig gelöscht haben.

Auch aus irgendeinem Grund Ihr Code hat NSTableView sicherstellen, dass Sie für diese und nicht die eine Spalte Stil UITableView suchen.