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
委托方法。试试看,如果它仍然崩溃发布崩溃报告
我实际上是想在发布之前删除它。那只是我在抱怨而已。 – 2010-08-09 22:14:16
作品完美谢谢:)。 – 2010-08-09 22:55:47