iPhone UIImageView Array
-
22-07-2019 - |
Frage
Also erkläre ich ein NSMutablearray, um 5 UIImageviews zu halten.
.H Datei:
@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
In der .m -Datei:
//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
}
Meine Frage ist also, warum passiert das? Warum nimmt es nicht alle Objekte im Array auf? Ich bin nicht gut mit der Ziel-C-Programmierung vertraut, also würde ich es schätzen, wenn mich jemand hier eingehen könnte. Vielen Dank.
Lösung
Weil Sie die Iboutlets nicht mit ihren Ansichten im Schnittstellenbuilder verdrahtet haben. Sieht so aus, als hättest du wahrscheinlich verkabelt img1
, aber nicht verdrahtet img2
, Also img2
ist nil
, was das Ende Ihrer Liste der Objekte für markiert -initWithObjects:
Auch wenn spätere Verkaufsstellen verkabelt werden.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow