Hallo,
nachdem mit XPath garnix geklappt hat, bin ich auf NSXMLParser umgestiegen und bin sehr zufrieden. Entgegen aller Vermutungen (da ich hier schon so viel negatives darüber gelesen habe) hat er das File anstandslos geparst und mir in ein Array "gesteckt".
Aber dennoch gibt es ein Problem
Ich habe ein Outlet, vom AppController in meiner Klasse. ( Ich habe den Pars-Prozess in eine eigene Klasse "gesteckt" wegen der Übersicht. )
Jetzt will ich das Array durch das Outlet an die AppController Klasse weitergeben, denn dort befindet sich das eigentlich Array mit den Daten ( das aus dem die Funktion die etwas brauchen es auslesen).
Allerdings scheint meine "Parsklasse" keinen Kontakt mehr zu dem Outlet bzw. der AppController Klasse zu haben. Das Array wird "lokal" gut erstellt, aber leider kann es nicht mehr zum AppController übergeben werden.
Ist das eine Nebenwirkung vom NSXMLParser oder habe ich nur etwas übersehen?
Hier ist mein Code:
(Das ObstaclesArray ist das Array das durch den Parse Prozess gefüllt wurde )
Alles anzeigen
viele Grüße
Quedepi
nachdem mit XPath garnix geklappt hat, bin ich auf NSXMLParser umgestiegen und bin sehr zufrieden. Entgegen aller Vermutungen (da ich hier schon so viel negatives darüber gelesen habe) hat er das File anstandslos geparst und mir in ein Array "gesteckt".
Aber dennoch gibt es ein Problem
Ich habe ein Outlet, vom AppController in meiner Klasse. ( Ich habe den Pars-Prozess in eine eigene Klasse "gesteckt" wegen der Übersicht. )
Jetzt will ich das Array durch das Outlet an die AppController Klasse weitergeben, denn dort befindet sich das eigentlich Array mit den Daten ( das aus dem die Funktion die etwas brauchen es auslesen).
Allerdings scheint meine "Parsklasse" keinen Kontakt mehr zu dem Outlet bzw. der AppController Klasse zu haben. Das Array wird "lokal" gut erstellt, aber leider kann es nicht mehr zum AppController übergeben werden.
Ist das eine Nebenwirkung vom NSXMLParser oder habe ich nur etwas übersehen?
Hier ist mein Code:
(Das ObstaclesArray ist das Array das durch den Parse Prozess gefüllt wurde )
Quellcode
- @implementation TGParkParser
- - (void)parseXMLFile:(NSString *)pathToFile {
- NSLog(@"Activated parseXMLFile:");
- if(parkParser){
- [parkParser release];
- }
- parkParser = [[NSXMLParser alloc]initWithContentsOfURL:[NSURL fileURLWithPath:pathToFile]];
- obstaclesArray = [[NSMutableArray alloc]init];
- [parkParser setDelegate:self];
- [parkParser setShouldResolveExternalEntities:NO];
- [parkParser setShouldReportNamespacePrefixes:NO];
- NSLog(@"Park parser is parsing...");
- [parkParser parse];
- [parkParser release];
- NSLog(@"Finished parsing :)");
- int i;
- for(i=0;i<[obstaclesArray count];i++){
- [AppControllerOutlet insertObject:[self objectInObstaclesArrayAtIndex:i] inObstaclesArrayAtIndex:i];
- }
- }
- ...
viele Grüße
Quedepi