iPhone UIImageView Array
-
22-07-2019 - |
Pregunta
Así que estoy declarando un NSMutableArray para contener 5 UIImageViews.
.h archivo:
@interface ImageDisplay : UIViewController {
IBOutlet UIImageView *img1;
IBOutlet UIImageView *img2;
IBOutlet UIImageView *img3;
IBOutlet UIImageView *img4;
IBOutlet UIImageView *img5;
NSMutableArray *imageHolderArray;
}
@property (nonatomic, retain) IBOutlet UIImageView *img1;
@property (nonatomic, retain) IBOutlet UIImageView *img2;
@property (nonatomic, retain) IBOutlet UIImageView *img3;
@property (nonatomic, retain) IBOutlet UIImageView *img4;
@property (nonatomic, retain) IBOutlet UIImageView *img5;
@property (nonatomic, retain) IBOutlet NSMutableArray *imageHolderArray;
@end
En el archivo .m:
//All objects are synthesized, just easier not to crowd the screen
- (void)viewDidLoad {
[super viewDidLoad];
imageHolderArray = [[NSMutableArray alloc] initWithObjects: img1,img2,img3,img4,img5,nil];
NSLog(@"imageHolderArray count: %i",[imageHolderArray count]); //Returns count of 1
}
Entonces mi pregunta es, ¿por qué está sucediendo esto? ¿Por qué no está recogiendo todos los objetos en la matriz? No conozco bien la programación de Objective-C, por lo que agradecería que alguien me diera una pista aquí. Gracias.
Solución
Porque no conectó los IBOutlets a sus vistas en Interface Builder. Parece que probablemente conectó img1
, pero no conectó img2
, por lo que img2
es nil
, que marca el final de su lista de objetos para -initWithObjects:
incluso si los enchufes posteriores están conectados.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow