在我的应用程序中,我使用相机和照片库来获取UIImage ...选择图像后,我需要将其转换为NSData并希望将此数据传递给名为addBlobToContainer的方法:....但它给出EXC_BAD_ACCESS .... 我该如何解决这个问题?
这是我的照片库代码......
- (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 :(得分:3)
您正在访问属性,您正在访问该属性后面的变量。如果您希望数据由属性自动保留,请使用属性设置器,例如self.imageData = ...
代替imageData = ...
。
答案 1 :(得分:1)
尝试
self.imageData = UIImageJPEGRepresentation(image.image,1);