Отображаются только некоторые изображения в формате png, другие - без видимой причины - PullRequest
0 голосов
/ 22 сентября 2011

У меня есть некоторый код, который случайным образом отображает данное изображение .png и его заголовок. Логика заголовка работает нормально.Однако по какой-то причине отображаются только два из четырех изображений.Я попытался изменить порядок на всякий случай, но отображаются только те два изображения, pic_c и pic_d.Я также проверил правописание, и что файлы находятся в ресурсах и существуют в файловой системе.Вот код, который отображает изображение:

    NSMutableArray *fileNameArray = [[NSMutableArray alloc] init];                          

    [fileNameArray addObject:[NSString stringWithFormat: @"pic_a"]];     
    [fileNameArray addObject:[NSString stringWithFormat: @"pic_b"]];     
    [fileNameArray addObject:[NSString stringWithFormat: @"pic_c"]];    
    [fileNameArray addObject:[NSString stringWithFormat: @"pic_d"]];     

    NSMutableArray *titleArray = [[NSMutableArray alloc] init];                          

    [titleArray addObject:[NSString stringWithFormat: @"pic a"]];     
    [titleArray addObject:[NSString stringWithFormat: @"pic b"]];     
    [titleArray addObject:[NSString stringWithFormat: @"pic c"]];    
    [titleArray addObject:[NSString stringWithFormat: @"pic d"]];     


    int index = arc4random() % [fileNameArray count];

    NSString *pictureName = [titleArray objectAtIndex:index];  

    art_title.text = pictureName;    

    NSString* imagePath = [ [ NSBundle mainBundle] pathForResource:pictureName ofType:@"png"];


    UIImage *img = [ UIImage imageWithContentsOfFile: imagePath];

    if (img != nil) { // Image was loaded successfully.
        [imageView setImage:img];
        [imageView setUserInteractionEnabled:NO];   
        [img release]; // Release the image now that we have a UIImageView that contains it.
    }

    [super viewDidLoad];

    [fileNameArray release];
    [titleArray release];
}

Есть идеи, почему это может происходить?

Недавние сведения: если я удаляю titleArray и использую только массив имен файлов, отображаются все изображения.Тем не менее, я все еще хотел бы иметь возможность использовать titleArray.

1 Ответ

0 голосов
/ 22 сентября 2011

Как называются ваши файлы изображений?В приведенном выше коде вы ничего не делаете с finleNameArray, за исключением того, что считаете его.Вы используете значения из titleArray, чтобы получить ресурс изображения.Я думаю, вам нужен следующий код:

NSString *filename = [fileNameArray objectAtIndex:index];

Затем измените imagePath, чтобы использовать его вместо pictureName.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...