2009-07-19 210 views
0

我似乎在訪問和比較目標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

回答

0

如果通過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

相關問題