我试图向另一个xib传递NSMutableArray的一些数据。我创建了一个名为Gallery的NSObject类。我把它加载到两个视图上。
我正在加载填充NSMutableArray的XML。然后,当我进入第一个视图时,它完全填充NSMutableArray,并在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);
正确地告诉我,我加载了另一个视图:
-(IBAction) vaiGaleria{
ProductPhotoGallery *telaDaGaleria = [[ProductPhotoGallery alloc] initWithNibName:@"ProductPhotoGallery" bundle:[NSBundle mainBundle]];
// Puxando a view
[self.navigationController pushViewController:telaDaGaleria animated:YES];
[telaDaGaleria release];
}
所以,当另一个视图出现时,我设置在日志中显示数组:
- (void)viewDidLoad {
self.galeria.galeriaFotos =[[NSMutableArray alloc]init];
NSLog(@"ARRAY GALERIA DENTRO VIEW %@", self.galeria.galeriaFotos);
[super viewDidLoad];
}
它给了我空值。那么,发生了什么?
谢谢!
答案 0 :(得分:1)
删除viewDidLoad
中的第一行,它释放先前分配的数组并分配一个新数组。