2011-01-12 11 views
0

Ich versuche, einige Daten von NSMutableArray zu einem anderen xib zu übergeben. Ich habe eine NSObject-Klasse namens Gallery erstellt. Ich lade es auf beide Ansichten.Verlieren von Daten zwischen xibs

Im Laden eines XML, das das NSMutableArray füllt. Dann, als ich den ersten Blick geben, den NSMutableArray füllt perfekt, und gibt mir den Inhalt davon auf einem NSLog:

ProductPhotoGallery *telaGaleria = [[ProductPhotoGallery alloc] initWithNibName:@"ProductPhotoGallery" bundle:[NSBundle mainBundle]]; 

    Gallery *minhaGaleria = [[Gallery alloc] init]; 
    telaGaleria.galeria = minhaGaleria; 
    telaGaleria.galeria.galeriaFotos =[[NSMutableArray alloc]init]; 

    TBXMLElement * nodeFotos = [TBXML childElementNamed:@"fotos" parentElement:rootXMLElement]; 

    TBXMLElement * nodeFoto = [TBXML childElementNamed:@"foto" parentElement:nodeFotos]; 

    while (nodeFoto) { 

     NSString * urlFoto = [TBXML textForElement:nodeFoto]; 
     [telaGaleria.galeria.galeriaFotos addObject:urlFoto]; 
     NSLog(@"%@", urlFoto); 
     nodeFoto = [TBXML nextSiblingNamed:@"foto" searchFromElement:nodeFoto 
         ]; 
    } 

    [telaGaleria release]; 

    NSLog(@"Array da Galeria %@", telaGaleria.galeria.galeriaFotos); 

mir geben, dass richtig, lade ich die andere Ansicht:

-(IBAction) vaiGaleria{ 

    ProductPhotoGallery *telaDaGaleria = [[ProductPhotoGallery alloc] initWithNibName:@"ProductPhotoGallery" bundle:[NSBundle mainBundle]]; 

    // Puxando a view 

    [self.navigationController pushViewController:telaDaGaleria animated:YES]; 

    [telaDaGaleria release]; 


} 

Also, wenn die andere Ansicht kommt, habe ich das Array auf einem Protokoll zeigen:

- (void)viewDidLoad { 

    self.galeria.galeriaFotos =[[NSMutableArray alloc]init]; 

    NSLog(@"ARRAY GALERIA DENTRO VIEW %@", self.galeria.galeriaFotos); 

    [super viewDidLoad]; 
} 

Und es gibt mir Nullwert. Also, was ist los?

Danke!

+0

Niemand kann mir helfen? –

Antwort

1

Entfernen Sie die erste Zeile in viewDidLoad, die Ihr zuvor zugeordnetes Array freigibt und ein neues zuweist.

+0

Und wie soll ich das machen? –