iPhone UIImageView Array - PullRequest
       7

iPhone UIImageView Array

2 голосов
/ 05 августа 2009

Итак, я объявляю NSMutableArray для хранения 5 UIImageViews.

.h файл:

@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

В файле .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
}

Итак, мой вопрос: почему это происходит? Почему он не собирает все объекты в массиве? Я не очень хорошо разбираюсь в программировании на Objective-C, поэтому я был бы признателен, если бы кто-то мог подсказать мне здесь. Спасибо.

1 Ответ

2 голосов
/ 05 августа 2009

Поскольку вы не связали IBOutlets с их представлениями в Интерфейсном Разработчике. Похоже, вы, вероятно, подключили img1, но не подключили img2, поэтому img2 равно nil, что обозначает конец вашего списка объектов для -initWithObjects:, даже если подключены более поздние выходы.

...