我正在爲nsxmlparser的代表正在努力。當委託不是自我時nsxmlparser的OO模型
爲了構建我的Foos表,我需要進行兩種類型的webservice調用;一個用於整個桌子,另一個用於每一排。它本質上是一個主查詢,然後是詳細查詢,除了master-query-result-xml沒有返回足夠的信息,所以我需要查詢每一行的詳細信息。我沒有處理大量的數據。
反正 - 以前我只是用
NSXMLParser *parser = [[NSXMLParser alloc]init];
[parser setDelegate:self];
[parser parse];
和我在任何類中實現所有相應的委託方法
在嘗試在清潔度,我現在已經創建了兩個單獨的委託類和做過類似:
NSXMLParser *xp = [[NSXMLParser alloc]init];
MyMasterXMLParserDelegate *masterParserDelegate = [[MyMasterXMLParser]alloc]init];
[xp setDelegate:masterParserDelegate];
[xp parse];
除了作爲清洗劑(在我看來,至少),這也意味着每個-parser:didStartElement
實現不花大部分時間試圖找出w ^這是他們解析的XML。
所以現在是問題的真正關鍵。
在我拆分代理之前,我還在實現委託方法的主類中創建了一個類級別的NSMutableArray,我只是在-parser:didEndElement
找到'end '的每個記錄。
現在,代表處於不同的類中,我無法弄清楚如何讓「detail」委託類中的-parser:didEndElement將創建的對象「返回」到調用類中。至少,不是以一種乾淨的面向對象方式。我確信我可以用各種討厭的類方法來做到這一點。
這個問題有意義嗎? 謝謝。
當然。非常感謝! – richard 2010-06-07 06:37:52