Объект UIImagePickerController в NSMutableArray - PullRequest
0 голосов
/ 04 ноября 2010

Мне нужно добавить объекты, выбранные UIImagePickerController, в NSMutabeArray, код выглядит так:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

    [picker dismissModalViewControllerAnimated:YES];

    if(![imagesArray containsObject:[info objectForKey:@"UIImagePickerControllerOriginalImage"]])
        {
        [imagesArray addObject:[info objectForKey:@"UIImagePickerControllerOriginalImage"]];

        } 
    else {
           //some procedures
            }
}

Проблема в том, что он всегда попадает в блок if и никогда не выполняет блок else при повторном выборе одинаковых изображений. Любая подсказка по этому поводу будет принята.

Ответы [ 2 ]

1 голос
/ 04 ноября 2010

Я думаю, что ваша проблема в том, что два экземпляра UIImage нельзя сравнивать с использованием isEqual :, который содержитObject: даже если они указывают на один и тот же файл изображения. Я не знаю, как сравнить два UIImage, но вы, возможно, можете посмотреть на Генерировать хеш из UIImage или найти «сравнение UIImage».

0 голосов
/ 04 ноября 2010

Проверка по кастингу.Добавьте это так:

UIImage *img =[info objectForKey:@"UIImagePickerControllerOriginalImage"];
if(![imagesArray containsObject:img])
 [imagesArray addObject:img];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...