UITabelView从NSXMLParser(iphone SDK 4.0)重新加载

问题描述:

我创建的应用程序只需从XML文件读取数据并将其显示在表格视图中。UITabelView从NSXMLParser(iphone SDK 4.0)重新加载

我点击时创建了一个“刷新”按钮,我希望它重新下载xml文件并再次显示,但是如果有已经下载的XML文件,它似乎会崩溃我的应用程序。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

    ipb = [[IPB alloc] init]; 
sectionTitle=[[NSMutableArray alloc]init]; 

[email protected]"http://localhost:8888/xml/Sinnergy.xml"; 



[self reloadTableView]; 

    [window makeKeyAndVisible]; 
return YES; 
} 
-(void)reloadTableView 

{ 


pathURL = [NSURL URLWithString:currentURL]; 
parser = [[NSXMLParser alloc] initWithContentsOfURL:pathURL]; 
[parser setDelegate:self]; 
[parser parse]; 
[mainTableView reloadData]; 

} 

您正在泄漏解析器,如果它的实例变量可能会导致问题。你应该去

NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:pathURL]; 
[parser setDelegate:self]; 
[parser parse]; 
[parser release]; 

而且你问的解析器开始解析,但在那个时间点,你不应该重装表,它应该是在你的

- (void)parserDidEndDocument:(NSXMLParser *)parser 

委托方法。试试看,如果它仍然崩溃发布崩溃报告

+0

我实际上是想在发布之前删除它。那只是我在抱怨而已。 – 2010-08-09 22:14:16

+0

作品完美谢谢:)。 – 2010-08-09 22:55:47