首先抱歉蹩脚的格式化。我不知道如何在这里格式化代码。我在从照片库中检索图像时遇到问题。我粘贴了我的代码请帮帮我。我很多天都遇到这个问题。
这里,我使用referenceURL将图像路径存储在数据库中。它在
中-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
NSURL *imageUrl = [info valueForKey:UIImagePickerControllerReferenceURL];
NSURL *imageUrl = [info valueForKey:UIImagePickerControllerReferenceURL];
ALAssetsLibrary *assetLibrary = [[ALAssetsLibrary alloc]init];
ALAssetsLibraryAssetForURLResultBlock resultblock = ^(ALAsset *myasset)
{
NSLog(@"asset");
CGImageRef iref = [myasset thumbnail];
if(iref)
{
NSLog(@"ifref");
UIImage *thethumbnail = [UIImage imageWithCGImage:iref];
NSLog(@"the thumbnail %@",thethumbnail);
[[self photo]setImage:thethumbnail];
lpdel.imageurl = UIImageJPEGRepresentation (thethumbnail, 1);
}
};
ALAssetsLibraryAccessFailureBlock failureblock = ^(NSError *myerror)
{
NSLog(@"failed");
NSLog(@"cant get image -- %@",[myerror localizedDescription]);
};
if (imageUrl) {
NSLog(@"if url");
[assetLibrary assetForURL:imageUrl
resultBlock:resultblock
failureBlock:failureblock];
//lpdel.imageurl =imageUrl;
NSLog(@"the image string %@",lpdel.imageurl);
NSLog(@"lpdel.image%@",lpdel.imageurl);
[picker dismissModalViewControllerAnimated:YES];
[imageUrl release];
}
[picker dismissModalViewControllerAnimated:YES];
[picker release]
}
我将imageURL存储在数据库中。然后在另一个视图控制器中,我试图使用相同的URL使用下面的代码
来检索图像 ALAssetsLibraryAssetForURLResultBlock resultblock = ^(ALAsset *myasset)
{
NSLog(@"asset");
CGImageRef iref = [myasset thumbnail];
if(iref)
{
NSLog(@"ifref");
thethumbnail = [UIImage imageWithCGImage:iref];
NSLog(@"the thumbnail to upload %@",thethumbnail);
[self uploadImage:UIImageJPEGRepresentation (thethumbnail, 1)];
//[[self photo]setImage:thethumbnail];
}
};
ALAssetsLibraryAccessFailureBlock failureblock = ^(NSError *myerror)
{
NSLog(@"failed");
NSLog(@"cant get image -- %@",[myerror localizedDescription]);
};
if (image)
{
NSLog(@"if url");
ALAssetsLibrary *assetLibrary = [[[ALAssetsLibrary alloc]init]autorelease];
NSLog(@"url");
[assetLibrary assetForURL:image
resultBlock:resultblock
failureBlock:failureblock];
}
NSLog(@"the thumbnail %@",thethumbnail);
此时应用程序崩溃,没有任何错误消息。任何人都可以帮助我
答案 0 :(得分:0)
我找到了解决方案。这是最后一个nslog的问题。但我需要知道原因。使用类范围声明变量thethumbnail。是否必须对块做任何事情