Evo san naletia na jedan problem s parsiranjem xml-a... Molim developere za pomoć... Ode je pitanje http://stackoverflow.com/questions/4287490/iphone-xml-parser-wont-add-object-to-mutable-array
Ne vidim da ti igdje u kodu koji si postao taj "viewController" pointa na postojecu instancu. Mislim da dodajes objekte u neku totalno odvojenu instancu objekta.
ubacia san
- (XMLParser *) initXMLParser {
[super init];
accomodationController = [[AccomodationSecondViewController alloc] init];
return self;
}
ali sad mi izbacuje neki exception. Također san prominia
XMLParser *parser = [[XMLParser alloc] initXMLParser];
[xmlParser setDelegate:parser];
Pa upravo u tome ti i je problem
accomodationController = [[AccomodationSecondViewController alloc] init];
Ta linija napravi novu instancu klase AccomodationSecondViewController i nema apsolutno nikakve veze s view controllerom kojeg si ranije napravio i iz kojeg si "pokrenuo" parser. Dakle sav kod koji ti unutar parsera sprema podatke u marray zapravo te podatke sprema u krivu instancu, zato ih u pravoj instanci ne vidis.
To sto ti pokusavas bi funkcioniralo jedino da je AccomodationSecondViewController singleton klasa, sto nije i ne treba bit. Usput moram primjetit da ti je kod poprilicno neuredan. Npr. parser i xmlParser - kako uopce zapamtis koji od ta dva je parser, a koji parserov delegate? Toplo preporucam da se drzis Cocoa naming convention principa. Uglavnom, stvarno se iskreno ne snalazim u tom kupusu, pogotovo dok je tako rascjepan i dok je 3 ujutro, pa ne znam kako da ti pomognem osim da ti kazem da instanca parserovog delegata mora imat ponter na instancu viewControllera u kojem ti je taj marray u koji zelis dodavat iteme.
Ok, sad san svatia kakva je to glupost, valjda produkt umora i kasnih sati :-D Sad pokušavan riješit isto pomoću argumenta sender u initXML funkciji koji je pokazivač na viewController... sad bi mi initXMLparser izgleda nekako ovako:
- (XMLParser *) initXMLParser:(AccomodationSecondViewController *)sender {
[super init];
accomodationController= (AccomodationSecondViewController *)sender;
return self;
}
ipak, nisan siguran je li to dobro... u pozivu onda šaljen
if(!parser)
parser = [[XMLParser alloc] initXMLparser:self];
Tu više nisan siguran šta je krivo. Prova san stavit self.view, ali ne radi ni jedno ni drugo... Mislin se da sve vratin kako je bilo, dok je bia marray u delegatu sve je radilo...
Kod je neuredan jer su to sve dummies, pa mi se nije dalo smišljat neka imena sad... Inače je poprilično uredan :-D
opet zapinje, marray mi je non stop null, čak san u parseru odma nakon naredbe
[viewController.marray addObject:parsedObj];
pokuša ispisat
NSLog([viewController.marray count]);
i tu mi izbaci iz aplikacije