2009-07-19 16 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でいっぱいになっている2つの配列を持っています。 新しい配列を作成するためにidを単に比較したいのですが、それを使って別のことをしてください。 どうすればいいですか?例えば

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

name :james smith 
IDE: ik32a 

**characterfound[]** 

IDE:2343k 
IDE:ik32a 

私は2つを比較するときに、idが発見されると、私は別の配列に名前を入れることができます。 またはそれを出力してください。

私は私の質問をrefraseし、btwに返信するための具体的なthnxにしようとします。私は、XMLを解析していた場合 は、私はそれが異なるタグなどに遭遇し、例えばそれに応じ

を私characterclassを埋めるファイル二つのクラス文字クラス @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もあります:

ので、私の最初の配列は、それが 属性だと二番目の配列のfoundcharacterも同様になりますを含む文字オブジェクトで満たされます。 characterarray = [CHARACTER1名= "ジョンソン" ID = "jfja33"、CHARACTER2名= "スミス" ID = "sdfae23"]

characterfoundarray [characterfoundのIDE = "jfja33、characterfound2 IDEは=" jap234 "]; 私の配列はオブジェクトとその属性で満たされているので、属性を比較して(可能な場合)出力を作成したい。

+1

投稿したコードがあなたの質問に関係しているかどうかは本当に分かりません。たぶんあなたは明確にするためにあなたの質問を言い換えることができ、関連するコードを提供することができます。 –

+0

投稿が読めない場合は誰も答えません! (私は2000年の担当者がいたらいいと思っています) – IlDan

答えて

0

IDで文字オブジェクトを検索するのは一般的な操作ですが、 idから文字オブジェクトへのマッピングを作成する必要があります。この時点で、2番目の配列からのルックアップはt寛大な:

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

(例のコードではクラスを大文字にしたことに注意してください。標準的な言語慣習を無視したコードを書くことはどの言語でも悪い考えであるため、コード内で同じことをする必要があります。 )コードの可読性を大幅に低下させます。

+0

これは私が必要としたものです。 – user140983

関連する問題