Recharger tableView section sans rechargement de la section d'en-tête - Swift

Je suis en train de recharger tableView section au lieu de recharger l'ensemble de la tableview parce que j'ai un champ de texte dans la section d'en-tête et quand je l'appelle self.tableView.reloadData() mon clavier fermé.

J'ai essayé le code ci-dessous mais j'ai cette erreur Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'attempt to delete row 5 from section 2 which only contains 4 rows before the update' de Sorte s'il vous plaît où serait mon problème?

    let newCount = self.placeArray.count

    var newIndexPaths = NSMutableArray(capacity: newCount)

    for var i = 0 ; i < newCount ; i++ {
    var indexPath = NSIndexPath(forRow: i, inSection: 2)
        newIndexPaths.addObject(indexPath)
    }

    self.tableView.beginUpdates()
    self.tableView.reloadRowsAtIndexPaths(newIndexPaths as [AnyObject], withRowAnimation: UITableViewRowAnimation.None)
    self.tableView.endUpdates()
  • Ce code facilement provoque des incohérences, n'hésitez pas à appeler la source de méthode pour obtenir le nombre de lignes.
  • Je suis désolé, je n'ai pas compris comment le faire?
  • Utilisation numberOfRowsInSection au lieu de copier la logique à partir de là, de cette façon, le nombre doit toujours être correct. Vous n'avez pas de montrer ou de le mentionner toute modification du nombre de lignes donc je suppose que vous ne le faites pas, sinon vous devez prendre soin de changer de numéro en conséquence, selon le moment où vous obtenez le nombre et modifier la source de données.
  • Je pense que vous me donner la solution, mais je ne suis pas vous. Je suis à jour le numberOfRows avec le nouveau tableau. @Un-Live
  • Vous essayez de mettre à jour plus de lignes qu'il y a, vue tableau suppose que vous tentez de supprimer une ligne qui est causée par une erreur dans le calcul du nombre de lignes.
  • Reportez-vous à Recharger la section sans avoir à recharger la section d'en-tête

InformationsquelleAutor CAN | 2015-09-07