Vai al contenuto

Problema NSMutableArray


Messaggi raccomandati

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

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...