Je ne suis pas sûr de manquer quelque chose de très basique ou si c'est juste un autre problème rencontré avec Swift UITableview
s. Mon problème est que je référence une cellule dans la vue de la table (dans ce cas la section 4 rangée 0) et pour une raison quelconque, swift me donne une erreur hors limites avec un index (6) qui ne devrait jamais exister parce que la taille de la section devrait seulement être 4 le journal n'a jamais montré un 5 (lors de l'impression positionCounter
dans la boucle while). Toute aide serait grandement appréciée Je ne sais pas pourquoi j'obtiendrais une valeur de 6 dans ce cas s'il vous plaît laissez-moi savoir si vous avez besoin de moi pour fournir un code supplémentaire ou clarifier quelque chose.Des index apparemment aléatoires provoquent des erreurs hors limite lors du référencement d'une cellule dans une vue de table
Message d'erreur
*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 6 beyond bounds [0 .. 5]'
Le code entourant l'erreur
cell = tableView.dequeueReusableCell(withIdentifier: "Item Card", for: indexPath)
var positionCounter = 0
while positionCounter < eventSettingsTableView.numberOfRows(inSection: 4) {
print(positionCounter)
print(String(eventSettingsTableView.numberOfSections) + " NUMBER OF SECTIONS")
print(String(eventSettingsTableView.numberOfRows(inSection: 4)) + " NUMBER OF ROW IN SECTION 4")
if eventSettingsTableView.cellForRow(at: IndexPath(row: 0, section: 4)) != nil {
print("no")
} else {
print("yes")
}
positionCounter = positionCounter + 1
}
positionCounter = 0
J'ai réduit l'erreur à cette ligne (en changeant la section de 4 à 3 fixe l'erreur mais n'explique pas pourquoi positionCounter
était toujours 6)
if eventSettingsTableView.cellForRow(at: IndexPath(row: 0, section: 4)) != nil {
EDIT - Désolé oublié de mentionner que ce code se trouve dans la fonction cellForRowAt
pour mon UITableView
Pourriez-vous poster le code de votre contrôleur de vue entier? – carlos21
@ carlos21 le contrôleur de vue est assez complexe et probablement trop long à poster ici est-il une section particulière du code contrôleur de vue dont vous avez besoin? – XvKnightvX
Veuillez indiquer 'numberOfRowsInSection' et' numberOfSections' – Paulw11