web-dev-qa-db-fra.com

UITableView, comment savoir quelle section pendant cellForRowAtIndexPath?

J'ai une UITableView affichant une liste de villes. Je veux les séparer par État. Je n'arrive pas à comprendre comment l'obtenir pour choisir les bons éléments de mon tableau. Si la section 1 (Arizona) a 2 villes et la section 2 (Californie) a 2 villes, pendant cellForRowAtIndexPath, la section 2, la ville 1 a un indice de 0, même s'il s'agit du 3e élément de mon tableau. J'ai pensé à transformer mon City Array en State Array, où chaque élément contient un Array of Cities, mais je ne sais toujours pas dans quelle section je suis et donc je ne sais pas quel City Array sous le States Array je voudrais besoin d'accéder.

59
James P. Wright

La méthode s'appelle

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

Le paramètre indexpath contient une propriété de ligne et de section.

indexPath.section  
indexPath.row

Voici le lien de documentation pour la classe NSIndexPath .

123

vous pouvez utiliser indexPath.section et indexPath.row

9
Morion

Swift 3, 4 et 4.2

Utilisation de Switch

switch indexPath.section {
        case 0:
            print("Write your code for section number one.")
        case 1:
            print("Write you code for section number two")
        default:
            return
        }

Utilisation sinon

if indexPath.section == 0 {
            print("Write your code for section number one.")
        } else if indexPath.section == 1 {
            print("Write your code for section number two.")
        }
0
Akbar Khan