2011-07-21 27 views
0

URLをロードし、XMLをNSStringsとNSNumbersに解析し、解析された文字列を "showArray"と呼ばれるNSMutableArrayに配置するXMLParsing.h/mというクラスを作成しました。別のクラスで作成されたNSMutableArrayを呼び出すにはどうすればよいですか?

XMLは、各子が「id」、次に他の変数を持つように設定されています。だから、配列に、我々は持っている:

のNSNumber:(XMLからID) NSStringの:(タイトル) NSStringの:(説明) NSStringの:(会場)別のクラスにおいて

、ShowDetailViewController.h/m、その配列とオブジェクトをロードしたい、前のビューでクリックしたTableViewセルに基づいて、nib(この場合はラベル)の項目を "id-specific "XMLからのデータ。したがって、たとえば:

私のTableViewでは、各ショーのタイトルが(XMLから)表示されます。ユーザーがタイトルをクリックすると、別のビューがプッシュされ、解析されたXMLから読み込まれたその番組のタイトル、説明、会場が表示されます。

この解析されたデータはすべてNSMutableArrayに存在しますが、私の問題は別のクラスのオブジェクトにアクセスできないようです。配列はnullを返し続けます。

私が試してみました:

を私のShowDetailViewController.mでは、私が含まれている一つの方法があります。

XMLParsing *xmlClass = [[XMLParsing alloc] init]; 
NSLog(@"The array contains: %@", xmlClass.showArray); 
[xmlClass release]; 

をしかし、結果は常にある "配列が含まれています(NULL)" もし私が同じNSLogをXMLParsingクラス自体で実行すると、配列全体が出力されます。だから、私はデータが文字列を解析していることを知っています。配列に格納されています。しかし、それはそれが作られたクラスの外にはアクセスできない。

XMLParsingクラスでは、NSMutableArray * showArray(非アトミック、保持、および合成プロパティ)を作成しました。どこが間違っていますか?

ご協力いただきありがとうございます!

答えて

0

申し訳ありませんが、私はそれは私がサードパーティ製を使用して解析しています、私は不明であった私のせいですと仮定し、あなたのshowviewcontrollerクラスでのごXMLParsingクラス

-(NSMutableArray *)parseURL { 


self.showarray = [[NSMutableArray alloc]init]; 

NSString *getURLString = @"url" 

NSURL *xmlURL = [NSURL URLWithString:getURLString]; 

xmlParser = [[NSXMLParser alloc] initWithContentsOfURL:xmlURL]; 

[xmlParser setDelegate:self]; 

[xmlParser parse]; 

return showarray; 

}

XMLParsing *xmlClass = [[XMLParsing alloc] init]; 

     anyArray = [xmlClass parseURL]; 
+0

でこれを試してみてくださいAPI - TBXML(ココアタッチ用)。これを言及していないのは悪い。私はいくつかの変更を加えてあなたの提案を試み、あなたに戻ってきます!早速のお返事ありがとうございます! –

+0

ありがとう、偉大な努力、ちょうど私の[self myParseMethod] –

関連する問題