UITableView didSelectRowAtIndexPath créer une instance de la section sélectionnée
Est-il un moyen pour obtenir l'instance de la section dans laquelle une ligne a été sélectionné? Il est possible d'obtenir l'index de la section, l'indice de la cellule sélectionnée, l'instance de la cellule sélectionnée..mais l'exemple de cette section?
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let indexPath = tableView.indexPathForSelectedRow //index path of selected cell
let headerCellIndex = indexPath!.section //index of selected section
let headerCellName = ????? //instance of selected section
let cellIndex = indexPath!.row //index of selected cell
let cellName = tableView.cellForRowAtIndexPath(indexPath!) // instance of selected cell
}
Merci.
- Comment vous insérez le nom de votre section lors de la tableview charge?
String(content[section].sectionName)
Ce serait également travailler dans ledidSelectRowAtIndexPath
-méthode..Mais n'est-ce pas là un moyen d'obtenir le nom de la section en quelque sorte similaire à la façon dont vous obtenez le nom de la cellule sélectionnée?- c'est le contenu d'un tableau/ objet?
- Pourquoi ne pas vous essayer quand dans didSelectRow...
var secName = content[indexPath.section].sectionName
- oui, cela fonctionne..mais je me demandais si il n'y a pas de manière similaire à la façon dont on le nom de la cellule sélectionnée..
- vous n'obtenez pas le " nom " de la cellule, vous obtenez la cellule instance... la suggestion de @lee est la bonne solution, pas d'interrogation de la vue pour le nom
- oui vous avez raison.. je reçois le nom avec
textLabel.text
de l'instance..savez-vous comment faire pour obtenir l'instance de la section? - qu'entendez-vous par le nom de la cellule sélectionnée? vous devriez avoir un tableau avant de la table de chargement de droit?
- =) désolé j'ai confondu vous.. @Wain avait raison: je n'obtiens pas le nom, mais l'exemple de la cellule.. donc la question "comment faire pour obtenir l'instance de la section dans laquelle la cellule sélectionnée est"..
- il n'y a pas de section de l'instance, et vous ne devriez pas obtenir le texte de l'étiquette de la cellule de toujours obtenir les données à partir de votre modèle de données, seulement obtenir de la cellule, de sorte que vous pouvez les mettre à jour
- okei merci c'est la réponse que je cherchais.. =)
Vous devez vous connecter pour publier un commentaire.
Cela a toujours bien fonctionné pour moi. J'ai toujours déballer ainsi, éventuellement, à la classe I, est attribué à juste pour m'assurer d'avoir le bon type de cellule. Dans cet exemple j'ai MyTableViewCell mais il peut bien sûr être n'importe quoi.
Avec la fonction DidSelectRows vous pouvez utiliser un commutateur, comme cela (Ex. 3 Sections variables Lignes)
ou Swift 3.0, utilisez