2011-11-23 47 views
0

我是新來的NSXMLParser,所以我決定採取本教程:http://www.xcode-tutorials.com/parsing-xml-files/,這很好。但在我的應用程序中,我不是在AppDelegate中使用解析器,而是在其他ViewController中使用解析器。我改變初始化這個:NSXMLParser不添加對象

-(XMLParser *)initXMLParser { 
    [super init]; 

    viewController = (ViewController *)[[UIApplication sharedApplication] delegate]; 

    return self; 
} 

解析器本身運作良好,但它並沒有任何對象添加到視圖控制器的陣列中應添加的對象。誰能幫忙?

回答

0

代碼中調用依然是你的應用程序代理

嘗試用這種代碼

@interface XMLParser : NSObject { 
    NSMutableString *currentElementValue; 
    id<NSXMLPArserDelegate> delegate; 
    Book *aBook; 
} 
-(XMLParser *)initXMLParserWithDelegate:(id<NSXMLPArserDelegate>) delegate; 
@end; 


-(XMLParser *)initXMLParserWithDelegate:(id<NSXMLPArserDelegate>) _delegate { 
    self = [super init]; 
    if(self) { 
     delegate = _delegate; 
    } 
    return self; 
} 

並設置自委託在構造函數

+0

我應該在ViewController.h做到這一點:@接口FirstLevelViewController:UITableViewController ? – Noobass

+0

yes在FirstLevelViewController中你必須做的事情就像XMLParser * parser = [[XMLParser alloc] initXMLParserWithDelegate:self]; –

+0

它不起作用。也許我應該更改解析器方法中的一些代碼? – Noobass