Je UITableView avec des méthodes:problème étrange avec l'affichage des cellules dans UITableView
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
override func numberOfSections(in tableView: UITableView) -> Int
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
Ainsi, le problème est que Xcode fonctionne au premier
override func numberOfSections(in tableView: UITableView) -> Int
qui me retourne 1. Plus tard, il exécute override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
ce qui me renvoie aussi 1.
MAIS je ne sais pas pourquoi après ces 2 méthodes, elle ne lance pas la méthode cellForRowAt
et n'affiche aucune r ow sur mon UITableView.
Je ne sais pas ce qui se passe là-bas et pourquoi cela arrive. Avez-vous rencontré un tel problème et pourriez-vous s'il vous plaît m'aider à le réparer?
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if let fetchedResultsController = self.fetchedResultsController, let fetchedObjects = fetchedResultsController.fetchedObjects {
if !searchController.isActive {
print("numberOfRowsInSection fetchedObjects.count - \(fetchedObjects.count)")
return fetchedObjects.count
} else {
if let results = filteredResult[searchController.searchBar.selectedScopeButtonIndex] {
print("numberOfRowsInSection results.count - \(results.count)")
return results.count
}
}
}
print("numberOfRowsInSection - 0")
return 0
}
override func numberOfSections(in tableView: UITableView) -> Int {
if let frc = fetchedResultsController, frc.fetchedObjects?.count != 0 {
print("numberOfSections - 1")
return 1
} else {
print("numberOfSections - 0")
return 0
}
}
Vérifiez le nombre de lignes et de sections dans ces méthodes. N'importe lequel d'entre eux sera zéro (0) ou Votre table peut ne pas être visible (zone visible de l'écran) – Krunal
@Krunal oui. Cela semble logique. Mais j'ai vérifié ça plusieurs fois! Je ne reçois pas 0. Je ne vois que l'en-tête de mon UITableView, mais le champ lignes est vide –
Avez-vous vérifié en ajoutant une instruction d'impression dans la méthode 'cellForRowAt', si elle fonctionne ou non, juste pour être sûr? – 3stud1ant3