将一个数组中的对象属性与另一个数组中的对象属性进行比较

问题描述:

我似乎在访问和比较目标c中NSMutableArrays中的对象时遇到困难。 我很新,所以在解释时,一些代码会很好。 我有一个角色类和一个characterfound类。代码如下所示:将一个数组中的对象属性与另一个数组中的对象属性进行比较

@implementation character 

@synthesize IDE, name; 

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

@implementation characterfound 

@synthesize IDE; 

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

我有两个数组正在填充名称和ID。 如果我想比较一下id的构建一个新的数组或者用它做其他事情。 我该怎么做。

例如

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

name :james smith 
IDE: ik32a 

**characterfound[]** 

IDE:2343k 
IDE:ik32a 

所以当我比较两个,该ID会被发现,我可以在另一个数组把这个名字。 或输出它..

我会尝试重新提出我的问题,并更具体thnx回答顺便说一句。 我有两个类的字符类 @interface character : NSObject { // attributes NSInteger type; NSInteger rep1, rep2, rep3, rep4, rep5; NSString *name; NSString *IDE;

} 和characterfound类

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

}

当我解析XML文件时遇到不同的标签和等,并相应

填满了我的characterclass例如

在找到的字符中还有一些其他的xml,如:

所以我的第一阵列将充满该游戏角色对象,包括它的属性 与第二阵列foundcharacter会为好。 characterarray = [character1名称= “约翰逊” ID = “jfja33”,character2名称= “史密斯” ID = “sdfae23”]

characterfoundarray [characterfound IDE = “jfja33,characterfound2 IDE =” jap234 “]; 所以我的数组被填充了对象及其属性,我想比较属性(如果可能的话)并创建一个输出

+1

我无法真正看到您发布的代码与您的问题有关。也许你可以为了清楚而重新提出你的问题并提供相关的代码。 – 2009-07-19 16:09:58

+0

如果你的帖子不可读,没有人会回答! (我希望我有2000代表) – IlDan 2009-07-19 23:00:39

如果通过ID查找字符对象是一种常见操作,你应该创建一个从id到字符对象的映射,此时从第二个数组中查找将是t rivial:

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

(请注意,我已将您的类设置为示例代码的大写字母;你应该在你的代码中做同样的事情,因为编写忽略标准语言约定的代码在任何语言中都是一个坏主意;它会显着降低您的代码的可读性。)

+0

谢谢你,这是我所需要的;) – user140983 2009-07-20 03:37:19