2013-03-16 2 views
0

В моем приложении я использую камеру и библиотеку фотографий, чтобы получить UIImage ... После выбора изображения мне нужно преобразовать его в NSData и хочет передать эти данные методу addBlobToContainer: .. .. но это дает EXC_BAD_ACCESS .... Как я могу это решить?EXC_BAD_ACCESS при восстановлении NSData

Вот мой код библиотеки фото ...

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    image.image = [info objectForKey:@"UIImagePickerControllerEditedImage"]; 
    imageData = [NSData dataWithData:UIImageJPEGRepresentation(image.image,1)]; 
    guid = [Guid randomGuid]; 
    NSLog(@"%@", guid.description); 
    GUID = guid.description; 
    NSLog(@"GUID===%@",GUID); 
    [self dismissViewControllerAnimated:YES completion:nil]; 
} 

-(void)viewWillAppear:(BOOL)animated 
{ 
    NSLog(@"STRIMAGEDATA===%@",imageData); 

    if ([imageData length] != 0) 
    { 
     NSLog(@"%@",imageData); 
     [client addBlobToContainer:newcontainer blobName:GUID contentData:imageData contentType:@"application/octet-stream" withBlock:^(NSError *error) 
     { 
      if (error) 
      { 
      NSLog(@"%@",[error localizedDescription]); 
      } 
       else 
       { 
       NSLog(@"blob inserted suuccessfully…"); 
       imageURL = [serviceURL stringByAppendingString:[NSString stringWithFormat:@"%@.jpg",GUID]]; 
       NSLog(@"IMAGEURL=%@",imageURL); 
       } 
      }];-->EXC_BAD_ACCESS 
    } 
} 
+0

Покажите нам декларацию 'imageData'. Это «сильный» или «слабый»? – Sulthan

+0

Также декларации serviceURL и GUID. –

+0

Не указывайте имена ваших идентификаторов, например «изображение». Используйте правильное перечисление UIImagePickerControllerEditedImage, а не строку, которую вы определяете (может быть проблема?) – 7usam

ответ

3

Вы не доступ к свойству, вы обращаетесь к переменной за собственность. Если вы хотите, чтобы данные были автоматически сохранены этим свойством, используйте средства определения свойств, например. self.imageData = ... вместо imageData = ....

1

Попытка

self.imageData = UIImageJPEGRepresentation (image.image, 1);

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