1

NSMutableArrayに保存されている画像を追加しようとしています。ループスルーすると、各画像を見ることができますが、それらを画像配列に追加しようとすると、カウントは0になります。

私は次のコードを持っています:

.h

#import <UIKit/UIKit.h>

@class Schedule;

@interface PMCViewController : UIViewController  <UITableViewDelegate, UITableViewDataSource>

@property (weak, nonatomic) NSMutableArray *images;
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
@property (weak, nonatomic) Schedule *schedule;

- (IBAction)OpenAdmin:(id)sender;
- (IBAction)OpenSchedules:(id)sender;

@end

そしてそれらは私の実装ファイルにあります:

.m

- (void)viewWillAppear:(BOOL)animated {

[super viewWillAppear:animated];
[self.navigationController setNavigationBarHidden:YES];

NSArray *schedules = [[ScheduleStore sharedStore] allSchedules];

scrollView.delegate = self;
scrollView.scrollEnabled = YES;
scrollView.pagingEnabled = YES;

int scrollWidth = 120;
scrollView.contentSize = CGSizeMake(scrollWidth,80); 

int xOffset = 0;

for (int i=0; i < [schedules count]; i++) {

    Schedule *selectedSchedule = [schedules objectAtIndex:i];
    NSString *ik = [selectedSchedule imageKey];

    UIImageView *img = [[UIImageView alloc] init];
    //img.bounds = CGRectMake(10, 10, 50, 50);
    //img.frame = CGRectMake(5+xOffset, 0, 50, 50);
    //img.backgroundColor = [UIColor blackColor];
    //img.image = [[ScheduleImageStore sharedStore] imageForKey:ik];

    [img setBounds:CGRectMake(10, 10, 50, 50)];
    [img setFrame:CGRectMake((5+xOffset), 0, 50, 50)];
    [img setBackgroundColor:[UIColor blackColor]];
    [img setImage:[[ScheduleImageStore sharedStore] imageForKey:ik]];

    [images addObject:img];
    scrollView.contentSize = CGSizeMake(scrollWidth+xOffset,50); 
    [scrollView addSubview:[images objectAtIndex:i]];

    xOffset += 70;

}
NSLog(@"Number of img added: %i",[images count]);

[[self scheduleView] reloadData];
}

ドット表記と通常表記の両方を試しましたが、違いはありませんでした。画像配列にアイテムを追加できないようです。これはメモリの問題でしょうか?何か案は?

4

1 に答える 1

1

images配列を初期化する必要があります。

于 2012-05-16T17:33:32.580 に答える