IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Objective-C Discussion :

Problemes avec tableview


Sujet :

Objective-C

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    élève ingenieur
    Inscrit en
    Octobre 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : élève ingenieur

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Problemes avec tableview
    Bonjour tout le monde ,
    svp je veux afficher une liste d'activités dans une uitabkeview , je recupere la liste depuis ma base de données ca c est fait , et je veux l afficher dans des sections .les données de chaque section sont regroupées par rapport à une date ( date est un champ de mon objet).
    je veux savoir comment je peux gerer tout ca : nombre de section, nombre de ligne dans une section , et les données a afficher pour chaque section
    expl:
    10-10-2013 : activité 1 , activité 2 , activité 3.( activité 1 , 2 et 3 sont des champs de différents objets de ma liste qui partage la meme date )
    20-11-2013 : activité 1 , activité 2
    merci pour votre aide.

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    Le plus simple est, dans ton modèle, d'avoir deja tes données triées...

    Imaginons que, actuellement, tu recupères toutes tes activité dans un NSSet.

    Le but va être de transformer ce set (appeleons le activitiesSet) en un 1 NSDictionary qui contiendra une paire clef/valeur par section.
    Pour chaque sections de ce NSDictionnary, la clef sera le jour et la valeur associée sera un NSArray contenant les activitées du jour concerné.

    La premiere étape va etre, depuis activitiesSet, de recupérer toutes les dates différentes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     NSMutableSet * dates = [NSMutableSet new];
        [activitiesSet enumerateObjectsUsingBlock:^(id obj, BOOL *stop) {
            [dates addObject:[obj date]];
        }];
    A la fin de ce block d'instruction, dates contient une valeur par date differentes, puisque la logique d'un NSSet et de ne contenir que des objets distincts.
    On à donc notre liste de dates.
    Maintenant, il va falloir créer un NSDictionnary et, pour chaque date, récupérer l'ensemble des activity ayant lieu a cette date.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
        NSMutableDictionary * activities = [NSMutableDictionary new];
     
        for(id date in dates)
        {
            // Récupère toutes les activity à la date scannée
            NSSet * activityForDate = [activitiesSet objectsPassingTest:^BOOL(id obj, BOOL *stop) {
                return [[obj date] isEqual:date];
            }];
     
            // Ajoute la liste des activity recupérer au dictionnary
            [activities setObject:[activityForDate allObjects] forKey:date];
     
        }
    maintenant le dictionnaire activities contient toutes les activité, regroupé par date.

    Il suffit ensuite des les affiché en repondant au methode du UITabelViewDataSource.
    Pour retrouver les infos dont tu as besoin voici une petite aide:

    Retrouver le nombre de section:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [[activities allKeys] count];
    Retrouver la date correspondant a une section a un index donnée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [[activities allKeys] objectAtIndex:sectionIdx]
    Retrouver le nombre d'élément dans une section a un index donné
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [[activities objectForKey:[[activities allKeys] objectAtIndex:sectionIdx]] count];
    Retrouver l'activity a un indexPath donné
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objectAtIndexPath:indexPath => [[activities objectForKey:[[activities allKeys] objectAtIndex:indexPath.section]] objectAtIndex:indexPath.row];
    Cordialement,

    Florian
    iOS Developpeur, Consultant, Formateur iOS

Discussions similaires

  1. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 10h33
  2. Problèmes avec le filtrage des ip
    Par berry dans le forum Réseau
    Réponses: 9
    Dernier message: 30/12/2002, 07h51
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo