2013-03-16 2 views
0

내 응용 프로그램에서 카메라와 사진 라이브러리를 사용하여 UIImage를 얻고 있습니다 ... 이미지를 선택하면 NSData로 변환해야하며이 데이터를 addBlobToContainer 메서드에 전달하려고합니다. .. 그러나 그것은 EXC_BAD_ACCESS를 제공합니다 .... 어떻게 해결할 수 있습니까? 여기EXC_BAD_ACCESS retriving on 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

"image"와 같은 식별자 이름을 지정하지 마십시오. 적절한 열거 형 UIImagePickerControllerEditedImage를 사용하여 정의한 문자열이 아닙니다 (문제 일 수 있습니까?) – 7usam

답변

3

, 당신은 재산 뒤에 변수를 액세스 할 수 있습니다. 데이터가 속성에 의해 자동으로 유지되도록하려면 속성 설정자 (예 : imageData = ... 대신 self.imageData = ...입니다.

1

사용해

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