[Résolu] Quel type ? NSEnumerator NSArray
ancrou
Membre
Bonjour,
Je ne sais pas quel type utiliser.
Alors j'ai des blocs qui possèdent :
- un identifiant de 2 octets
- une taille de 8 octets
- une adresse de début du bloc de 8 octets
J'ai pensé faire une classe nommé Bloc, puis de faire un NSEnumerator de Bloc.
J'aurai besoin de lire ma collection, élément par élément, pas besoin (normalement) de faire des recherches.
C'est une bonne solution ? :-\\
NSEnumerator est il un bon type ? :-\\
Après pour faire ma classe Bloc c'est une autre histoire pour un débutant
Merci
Je ne sais pas quel type utiliser.
Alors j'ai des blocs qui possèdent :
- un identifiant de 2 octets
- une taille de 8 octets
- une adresse de début du bloc de 8 octets
Exemple:
0x0001 0x00A8 0x0007
0x0002 0x0100 0x00A8
0x00A1 0x0020 0x01A8
J'ai pensé faire une classe nommé Bloc, puis de faire un NSEnumerator de Bloc.
J'aurai besoin de lire ma collection, élément par élément, pas besoin (normalement) de faire des recherches.
C'est une bonne solution ? :-\\
NSEnumerator est il un bon type ? :-\\
Après pour faire ma classe Bloc c'est une autre histoire pour un débutant
Merci
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
D'une c'est une classe abstraite, et de deux elle est faite comme son nom l'indique pour énumérer :P
C'est un objet temporaire qu'on utilise pour parcourir un NSArray ou un NSDictionary, voire un NSSet.
[tt][idBloc1] [tailleBloc1] [adresseDebutBloc1] [idBloc2] [tailleBloc2] [adresseDebutBloc2] [idBloc3] ...[/tt]
il suffit d'allouer un tableau de N structures sBlock et de copier le contenu de ta zone mémoire directement dedans... voire si tu as déjà ton buffer en mémoire et que tu ne veux pas le copier, simplement pointer dessus.
Par exemple si tu as déjà un buffer avec toutes tes données (tous tes blocs à la queue-leu-leu) à l'adresse ptr (de type void*), il suffit de faire
Par contre si c'est plutôt du genre :
[tt][idBloc1] [tailleBloc1] [donnéesBloc1 occupant tailleBloc1 octets] [idBloc2] [tailleBloc2] [donnéesBloc2 occupant tailleBloc2 octets donc pas forcément autant que le précédent] [idBloc3] ...[/tt] alors là c'est une autre paire de manches, il va falloir boucler dessus un par un avec une boucle for.
En tout cas pour ce genre de lecture de données, à voir plus exactement la tête de ta structure car là c'est pas très clair, mais je pense qu'un accès en C est plus approprié. Quitte à le "wrapper" dans une méthode d'accès en Objective-C pour que ça soit transparent
Désolé de ne pas avoir été claire.
Mais nous avons résolu mon problème.