Ich bin in einer Tabellenansicht Einführung und Reparatur der Daten, wenn x gleich 1 wird in die Daten eingeführt werden, gleich 2 wird an die Reparaturdaten übertragen werden, aber wenn ich nach der Implementierung leer war der Tabellenansicht, und meine Delegierten und Datenquelle gibt es einen LinkLade Tabellenansicht Daten
Hier ist meine Download-Datenfunktion ist:
habenfunc laodingTableviewData() {
self.suggestionTableView.isHidden = true
let frame = CGRect(x: 150, y: 283, width: 80, height: 80)
let color = UIColor(red: 50.0/255.0, green: 124.0/255.0, blue: 203.0/255.0, alpha: 1)
let activityIndicatorView = NVActivityIndicatorView(frame: frame, type: .ballSpinFadeLoader, color: color, padding: 20)
self.view.addSubview(activityIndicatorView)
activityIndicatorView.startAnimating()
if self.x == 1 {
DispatchQueue.main.async {
print("Start download suggestion data...")
self.suggestions = Suggestion.downloadAllSuggestion()
self.suggestionTableView.isHidden = false
self.suggestionTableView.reloadData()
}
} else if self.y == 2 {
DispatchQueue.main.async {
print("Start download repair data...")
self.repairs = Repair.downloadAllRepair()
self.suggestionTableView.isHidden = false
self.suggestionTableView.reloadData()
}
}
activityIndicatorView.stopAnimating()
}
ich einen Haltepunkt in self.suggestions = advice.downloadAllSuggestion()
gesetzt, ich bin sicher, dass es die Daten abgefangen werden , aber kann nicht in der Tabellenansicht zeigen, bitte helfen, Antwort, danke!
Hier Tabellenansicht Funktion
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "mycell", for: indexPath) as! FirstTableViewCell
if x == 1 {
cell.suggestions = suggestions[indexPath.row]
} else if y == 2 {
cell.repairs = repairs[indexPath.row]
}
return cell
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
var value = 0
switch value {
case self.x:
value = suggestions.count
case self.y:
value = repairs.count
default:
break
}
return value
}
Fügen Sie den Code von cellForRowAtIndexPath & numberRowsInSection Methoden – Subramanian
falsch Fluss sicher, 'downloadAllSuggestion()' ist wahrscheinlich asynchron, bedeuten, dass 'reload()' vor dem Download Finish aufgerufen, dazu führen, dass der Tabellenansicht doesnt Update – Tj3n
@ Tj3n Das tut klingt nicht richtig, da eine asynchrone Methode keinen Rückgabetyp haben sollte. Ich bin auch verwirrt durch was drin ist "Suggestion.downloadAllSuggestion()' –