【问题标题】:UITabelView reloaded from NSXMLParser (iphone SDK 4.0)UITableView 从 NSXMLParser (iphone SDK 4.0) 重新加载
【发布时间】:2011-03-27 13:14:03
【问题描述】:

我正在创建简单地从 XML 文件中读取数据并将其显示在表格视图中的应用程序。

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

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

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

 currentURL=@"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];

}

【问题讨论】:

    标签: iphone ios4 nsxmlparser


    【解决方案1】:

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

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

    您还要求解析器开始解析,但此时您不应该重新加载表,它应该在您的

    - (void)parserDidEndDocument:(NSXMLParser *)parser
    

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

    【讨论】:

    • 我实际上是想在发布之前删除它。那只是我在玩弄抱歉。
    猜你喜欢
    • 2010-12-05
    • 2010-12-06
    • 2011-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-26
    • 1970-01-01
    相关资源
    最近更新 更多