2010-08-09 7 views
0

Je crée une application qui lit simplement les données d'un fichier XML et les affiche dans une vue de table.UITabelView rechargé à partir de NSXMLParser (iphone SDK 4.0)

J'ai créé un bouton "actualiser" quand j'ai cliqué je veux le télécharger de nouveau le fichier xml et l'afficher de nouveau mais il semble planter mon application s'il y a un fichier XML déjà téléchargé.

- (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]; 

} 

Répondre

0

Vous êtes en train de perdre l'analyseur, et si c'est une variable d'instance, cela peut causer des problèmes. Vous devriez aller

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

vous demandons également l'analyseur pour commencer l'analyse syntaxique, mais à ce moment de temps que vous ne devriez pas recharger la table, il devrait être dans votre

- (void)parserDidEndDocument:(NSXMLParser *)parser 

méthode déléguée. Essayez-le et s'il se bloque encore après le rapport d'accident

+0

Je voulais vraiment supprimer cela avant de poster. C'était juste quelque chose que je jouais avec désolé. –

+0

Fonctionne parfaitement grâce :). –

Questions connexes