Ich versuche, eine TableView mit table.reloadData() in SWIFT 3 zu aktualisieren. Ich schaffte es, das funktioniert vor einiger Zeit, aber jetzt hörte es einfach aus der Arbeit Blau. Keine Fehler, keine Warnung, nichts.SWIFT - table.reloadData() nicht/nicht mehr funktionierend
override func viewWillAppear(_ animated: Bool)
{
print("MainVC > viewWillAppear")
super.viewWillAppear(animated)
initializeCollectionView()
}
func initializeCollectionView()
{
print("MainVC > initializeCollectionView")
projectsArray = []
getDocumentDirectoryContent()
if(projectsArray.count > 0)
{
print(projectsArray.count)
//For testing only - To make sure the array is not empty
for var i in 0..<projectsArray.count
{
print(projectsArray[i].project_name)
}
cvProjects.isHidden = false
ivMainVCPlaceholder.isHidden = true
}
else
{
cvProjects.isHidden = true
ivMainVCPlaceholder.isHidden = false
cvProjects.reloadData()
}
}
Jedes Mal, wenn die App startet er das nennt es die Daten von documentDirectory
packt und füllt die projectsArray
Array mit Objekten. Das funktioniert gut.
Die initializeCollectionView
wird in viewWillAppear
genannt, weil die tableView
auch aufgefrischt werden soll, wenn ein Kind viewController
das Feld verwiesen. Es wird auch vom Fass genannt:
@IBAction func btnRefreshCollectionAction(_ sender: Any)
{
print("MainVC > btnRefreshCollectionAction")
initializeCollectionView()
}
Das Problem ist jetzt die Tabelle nicht aktualisiert wird weder wenn ein Kind viewController
wird noch entlassen, wenn ich auf btnRefreshCollectionAction
tippen.
Das Array projectsArray
ist jedoch in initializeCollectionView
nicht leer.
Mein erster Gedanke war, die Xcode-Aktualisierung zu beschuldigen, die ich ausgeführt habe, bevor ich bemerkte, dass das funktioniert, aber normalerweise, wenn es nach einem Upgrade irgendwelche Probleme gibt, gibt es Warnungen und/oder Fehler.
Irgendwelche Ideen?
Nun, Sie rufen nur 'reloadData' auf, wenn' projectsArray.count' 0 ist. – dan
Das ist vielleicht eine grobe Beobachtung, aber sollten Sie die Daten nicht erneut laden, wenn die Anzahl der abgerufenen Objekte> 0 ist ? Weil, wie ich aus dem Code sehen kann, der Sie geliefert haben, wenn das Array nicht leer ist, laden Sie nicht neu! –
Jetzt fühle ich mich dumm: | Und ich habe es eine Zeitlang angeguckt. Danke Leute: D – daydr3am3r