2013-11-10 4 views
1

Очень просто, я хочу сделать снимок с помощью UIImagePicker и поместить его в NSMutableArray. Ниже приведен следующий код. Часть камеры отлично работает и для целей тестирования изображение отображается в UIImage под названием photoImageView. Однако я не могу добавить изображение в массив. Любая помощь с благодарностью получила.Изображение от UIImagePicker до NSMutableArray

@property (nonatomic, retain) NSMutableArray *photos; 

- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
UIImage *photoTaken = (UIImage *)[info valueForKey:UIImagePickerControllerOriginalImage]; 
photoImageView.image=photoTaken; 
[photos addObject:[UIImage photoTaken]; 
[picker dismissViewControllerAnimated:YES completion:nil]; 
} 
+0

Это ваш фактический код? '[UIImage photoTaken]' даже не компилирует ... –

+1

Возможный дубликат [NSMutableArray addObject не работает] (http://stackoverflow.com/questions/1827058/nsmutablearray-addobject-not-working) - # 1 в [ nsmutablearray]. –

+0

у вас есть выделение фото массива, как фотографии = [NSMutableArray new]; else, каков ваш результат, когда NSLog массива фотографий. –

ответ

1

1) Вы инициализируете фотографии NSMutableArray? Иногда addObject: не будет вызывать ошибку при попытке вставить объект в NULL NSArray.

2)

- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    UIImage *photoTaken = (UIImage *)[info valueForKey:UIImagePickerControllerOriginalImage]; 
    if (photoTaken) 
    { 
     photoImageView.image=photoTaken; 
     [photos addObject:photoTaken]; 
    }else{ 
     NSLog(@"Selected photo is NULL"); 
    } 
    [picker dismissViewControllerAnimated:YES completion:nil]; 
} 
+0

Отлично - спасибо – RGriffiths

1

Вы инстанцирован массив где-нибудь (например, viewDidLoad):

self.photos = [NSMutableArray alloc] init]; 

?

+0

Спасибо - вы были правы - мне тоже нужно было это сделать – RGriffiths

1

Изменение ниже после добавления к (Ian L)

 [photos addObject: photoTaken]; 
1

photoTaken уже экземпляр в качестве UIImage объекта. Нет необходимости делать:

[photos addObject : [UIImage photoTaken]]; 

Просто сделать это:

[photos addObject : photoTaken]; 
+0

Спасибо - отлично – RGriffiths

+0

Рад помочь. Пожалуйста, отметьте это как ответ, который решил ваш вопрос. –

+0

Я бы, но я могу только ответить на один как правильный. Еще раз спасибо – RGriffiths

Смежные вопросы