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.

War es hilfreich?

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
scroll top