2009-07-19 8 views
0

Je semble avoir des difficultés à accéder et à comparer des objets dans NSMutableArrays dans l'objectif c. Je suis très nouveau alors quand j'explique, du code serait bien. J'ai une classe de caractères et une classe characterfound. Le code ressemble à ceci:comparer l'attribut d'objet dans un tableau à un attribut d'objet dans un autre tableau

@implementation character 

@synthesize IDE, name; 

- (void) dealloc { 
    [text release]; 
    [super dealloc]; 
} 

@implementation characterfound 

@synthesize IDE; 

- (void) dealloc { 
    [text release]; 
    [super dealloc]; 
} 

J'ai deux tableaux qui sont remplis avec des noms et des identifiants. Si je veux comparer uniquement les ID pour construire un nouveau tableau ou faire quelque chose d'autre avec lui. Comment est-ce que je fais ceci.

par exemple

 
**character[]** 
name :joe smith 
IDE: ik321 

name :james smith 
IDE: ik32a 

**characterfound[]** 

IDE:2343k 
IDE:ik32a 

quand je compare les deux, l'identifiant sera trouvé et je peux mettre le nom dans un autre tableau. Ou la sortie ..

Je vais essayer de reformuler ma question et être plus précis pour répondre à btw. J'ai deux classes de la classe de caractères @interface character : NSObject { // attributes NSInteger type; NSInteger rep1, rep2, rep3, rep4, rep5; NSString *name; NSString *IDE;

} et la classe characterfound

@interface characterfound : NSObject { // attributes //NSInteger IDE; NSInteger type; NSString *IDE;

}

Quand je suis analyse un fichier XML, il rencontre des balises différentes et tel et remplit mon characterclass en conséquence

par exemple

également il y a un autre xml dans le caractère foundele comme:

donc mon premier tableau sera rempli avec l'objet de caractères, y compris ses attributs et le second foundcharacter de tableau sera aussi bien. CharacterArray = [nom character1 = id "johnson" = "jfja33", nom character2 = id "smith" = "de sdfae23"]

characterfoundarray [characterfound ide = "jfja33 Ide characterfound2 =" jap234 "]; Donc, mes tableaux sont remplis avec des objets et leurs attributs et je voudrais comparer les attributs (si c'est possible) et créer une sortie

+1

Je ne peux pas vraiment voir ce que le code que vous avez posté a à voir avec votre question. Peut-être pourriez-vous reformuler votre question pour plus de clarté et fournir un code pertinent. –

+0

Personne ne répondra si votre message n'est pas lisible! (Je souhaite que j'ai eu 2000 rep) – IlDan

Répondre

0

Si rechercher des objets de caractères par ID est une opération courante, vous devez créer un mappage entre les ID et les objets de caractère, à quel point la recherche à partir de votre deuxième tableau sera t rivial:

NSMutableDictionary* charactersById = [NSMutableDictionary dictionary]; 
for (Character* character in characters) { 
    [charactersById setObject:character forKey:[character IDE]]; 
} 

(Notez que j'ai fait votre majuscule de classe pour l'exemple de code; vous devriez faire de même dans votre code puisque écrire du code qui ignore les conventions de langage standard est une mauvaise idée dans n'importe quelle langue; cela réduit considérablement la lisibilité de votre code.)

+0

merci c'est ce dont j'avais besoin;) – user140983

Questions connexes