elenabri Inviato 2 Marzo 2011 Segnala Condividi Inviato 2 Marzo 2011 Ciao ho creato una applicazione con una finestra principale e alcune viste, tra le varie viste si naviga attraverso una tabBarController. Nella AppDelegate è dichiarato una NSMutableArray * produttori che viene riempito nella (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions leggendo i dati da un file xml in un metodo che legge xml tramite le librerie TBXML. E fin qui tutto bene, la letture del file xml è corretta e riempie l'array. Quando passo da una vista all'altra attraverso la TabBar chiamo una funzione della vista passandogli come parametro l'array produttori. Il problema è che la prima volta che clicco su tab bar per andare a vista1, l'array è pieno e corretto. Quando clicco su vista2 poi torno a vista1 l'array ha alcuni campi sono vuoti, cosa che manda in errore l'applicazione. L'array è così dichiarato: AppDelegate.h NSMutableArray * produttori @property (nonatomic, retain) NSMutableArray * produttori; AppDelegate.m (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { produttori = [[NSMutableArray alloc] initWithCapacity:10]; [ self LoadXmlFile]; } -(Boolean) LoadXmlFile { .... ...... DettaglioProduttore * unProduttore = [[DettaglioProduttore alloc] init]; TBXMLElement *progressivo = [TBXML childElementNamed:@"numero_progressivo" parentElement:itemProduttore]; unProduttore.numero_progressivo = [NSString stringWithFormat: @"%@", [TBXML textForElement:progressivo] ]; TBXMLElement *nome_produttore = [TBXML childElementNamed:@"nome_produttore" parentElement:itemProduttore]; unProduttore.nome_produttore = [NSString stringWithFormat: @"%@", [TBXML textForElement:nome_produttore] ]; [produttori addObject:unProduttore]; [unProduttore release]; ..... } - (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController1 if ([viewController1.nibName isEqualToString:@"LaMappa"]) { [self.laMappaViewController InizializzaMappa:produttori]; } if ([viewController1.nibName isEqualToString:@"GuidaAllaLettura"]) { [self.guidaAllaLetturaController InizializzaGuida:guida_alla_lettura]; } } Grazie per l'aiuto! Link al commento Condividi su altri siti Altre opzioni di condivisione...
Messaggi raccomandati
Archiviato
Questa discussione è archiviata e chiusa a future risposte.