Création d'un tableau
Nota34
Membre
Bonjour, je cherche à créer un tableau pour stocker des formules.
Tableau[15][6]
En fait, 15 Lignes et 6 par lignes afin de faire la chose suivante
Ligne 1 du tableau contient = @EB-S6';, Data*1.09944-0.3030, Data*....., Data*....., ......
Ligne 2 @EB-X6';, Data*....Data*....., Data*....., ......
....
Pour ensuite faire appel à ce tableau pour utiliser les différentes formules et connaitre la ligne en faisant une recherche par le premier paramètre de mon tableau par exemple
Si Tableau[1][1] == @EB-S6 alors j'utilise les formules qui sont sur la même ligne
d'avance,
merci,
Tableau[15][6]
En fait, 15 Lignes et 6 par lignes afin de faire la chose suivante
Ligne 1 du tableau contient = @EB-S6';, Data*1.09944-0.3030, Data*....., Data*....., ......
Ligne 2 @EB-X6';, Data*....Data*....., Data*....., ......
....
Pour ensuite faire appel à ce tableau pour utiliser les différentes formules et connaitre la ligne en faisant une recherche par le premier paramètre de mon tableau par exemple
Si Tableau[1][1] == @EB-S6 alors j'utilise les formules qui sont sur la même ligne
d'avance,
merci,
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Chaque objet serait alors une instance d'une classe perso comprenant un NSString*string1, plusieurs NSData*data1, NSData *data2 etc (correspondants aux données "colonnes")
Ensuite, pour faire ta recherche dans ton tableau, tu n'as qu'à tester ton tableau en faisant une boucle for de 0 à [myArray count] :
Si tu débutes tu vas devoir passer par là , sinon tu vas perdre énormément de temps avec les bases.
Donc pour les tableaux; en Objective-C tu peux utiliser soit NSArray si tu n'ajoutes pas d'élément par la suite. Ou bien NSMutableArray sinon.
Pour déclarer un tableau de se type:
Ensuite dans Xcode, avec la doc tu auras toutes les infos nécessaire avec l'API fournit. Mais vraiment, va lire la doc ou des tutos ou des bon bouquin sinon tu va galèrer à mon avis.
Bonne chance
vous le remplissez de n cases mais dans chaque case se trouve un autre tableau cette fois-ci en NSMutableArray car je ne connais pas le nombre de chiffre au départ.
edit: j'ai jamais mis de graphe2.txt en attaché o_O
Comment juste créer un tableau à plusieurs dimensions.
Je souhaite un tableau à comme cela
Tableau{Environ 50 Lignes}{Environ 10 Colonnes}
Ligne1 = @EB-S6, Data*0.48585+10,Data/5+0.99484, .......
Certes il y a cet example :
NSMutableDictionary * dict = [NSMutableDictionary dictionary];
[dict setObject:[NSArray arrayWithObjects:formule1, formule2, etc, nil] forKey:@EB-S6];
// ...
// puis
NSArray * formules = [dict objectForKey:@EB-S6];
Mais je ne vois pas trop comment cela ce goupille ....
Tu créer une classe qui hérite de NSObject dans laquelle tu places tes variables:
Ensuite dans la classe ou tu utilises ton tableau tu créer un tableau d'objet SoucoupeVolante.
Du coup une "FullRow" est une ligne complète constituée de colonnes dans lesquelles il y a des valeurs.
Et ton tableau devient un "tableau de FullRows", une case de ton tableau représentant donc une ligne entière, tu as autant de cases dans ton NSArray principal que de lignes dans ton "tableur".
Après si tu demandes la FullRow 26, dans cette FullRow tu peux demander la cellule à la colonne 4, ce qui finira par te permettre d'accéder à la cellule D26, en somme.
Bon je sais pas si ça correspond exactement à ce que tu cherches avec ton truc de formules et tout, mais bon c'est pour te donner une idée, si tu veux créer un tableau à 2 dimensions, cela se traduit en réalité dans les faits par un tableau contenant d'autres tableaux, donc.
Les exemples d'Aaron Hillegass:
http://www.bignerdranch.com/solutions/Cocoa-3rd.tgz
Ps: Le must se serait d'acheter le livre qui va avec les exemples. Dans les premiers chapitres tu trouveras clairement la réponse a ta question avec en prime de quoi bien gérer la mémoire, car il va falloir le libérer ce tableau...
Je sais que j'abuse mais je pose tout de même ma question.
Si j'utilise l'objet ci-dessous. Comment faire pour mettre mes formules.
Par exemple, je souhaite stocker les formules une fois pour toute et effectuer le calcul à la demande. Par exemple, quel type utiliser
Data étant une donnée récupérée avant le calcul mais après la création de ce tableau.
Formule1 = Data*0.0008484+10;
Formule2 = Data*0.0008484-6.9848;
@interface SoucoupeVolante : NSObject {
NSString *nomDeMaSoucoupe;
int formule1;
.....
}
J'ai mit des float car ça me semblais plus logique. Je ne suis pas sur d'avoir compris ce que tu voulais en même temps
Mais bon pour moi tes formules doivent être stocké dans les opérations de ton objet et pas en tant qu'attributs.
[edit] Ah ouais en fait après avoir relu tes post c'est un peu débile ce que j'ai écris ^^
En fait je crois que je décomposerais ta formule en deux partie, le 0.008484 d'un coté et le +10 d'un autre. Mais je suis pas sur que ça soit une bonne idée, ça me semble bien complexe pour ce que tu veux faire ;-)
Au pire, une simple énumération avec un switch suffit histoire de faire un code propre.
Cela donnerait quelque chose du genre:
Fichier d'interface:
Fichier d'implémentation
Edit: grillé par Greensource
Disons que lorsque j'avais développé cette appli sous Flash, j'avais utilisé un tableau car ce soft permet de calculer des distances de projections, largeurs d'écrans .... J'ai environ 40 produits à gérer et 6 formules par produit. Donc, le tableau me permettait d'ajouter des "lignes" sans pour autant toucher au code. Mais tu as sans doute raison. C'est clair que c'est plus simple en utilisant ta méthode.
En plus, cela me permet de créer une liste juste sur le produit. Ainsi que récupérer l'index ce qui facilite énormement la gestion du calcul.
Exemple
Tab1/1 : @EB-S6';, Formule Calcule Distance MAx, Formule Calcul Distance Mini, Formule Calcul Largeur Min, formule Calcul Largeur Min ....
Ensuite j'ai des constantes
CalDistMax = 2
CalDistMin = 3
...
Donc, si je clique sur un produit au niveau de ma liste par exemple le 1er. Index = 1
Et ensuite j'utilise mes formules via mes constantes ce qui mer permet de les évaluer simplement.
Tableau[X][Y];
Tableau[1]=@EB-S6,Distance Min en 4/3, Distance Max en 4/3, Distance Min en 16/9, Distance Max en 16/9, Distance Min en 16/10, Distance Max en 16/10, ............
Tableau[2]="EB-X6,Distance Min en 4/3, Distance Max en 4/3, Distance Min en 16/9, Distance Max en 16/9, Distance Min en 16/10, Distance Max en 16/10, ............
Tableau[3]="EB-W6,Distance Min en 4/3, Distance Max en 4/3, Distance Min en 16/9, Distance Max en 16/9, Distance Min en 16/10, Distance Max en 16/10, ............
Tableau[4]="EB-1720,Distance Min en 4/3, Distance Max en 4/3, Distance Min en 16/9, Distance Max en 16/9, Distance Min en 16/10, Distance Max en 16/10, ............
Tableau[5]="EB-1725,Distance Min en 4/3, Distance Max en 4/3, Distance Min en 16/9, Distance Max en 16/9, Distance Min en 16/10, Distance Max en 16/10, ............
.....
Ensuite, si je slectionne le produit 1 de ma liste, j'utilise le tableau pour mes calcus.
Produit = Index
Ensuite J'ai déjà initialisé ma valeur Data
Donc, par exemple si j'appel
Tableau [Produit][DistMax4/3] = Le résultat de mon calcul Distance MAx en 4/3 qui contient en réalité Data*10-0.007464474
http://apptree.net/parser.htm
A partir de là tu peux n'avoir qu'un dictionnaire avec tes clés et tes formules sous la forme de NSString. Donc tout cela peut être stocké dans un fichier plist indépendant de ton code.
C'est la solution qui me semble la plus élégante et correspond mieux à ton besoin il me semble. Par contre niveau perfs cela n'aura rien à voir avec la solution précédente évidement.