我有以下获取图像路径的方法和代码,
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
NSURL *imageURL = [info valueForKey:UIImagePickerControllerReferenceURL];
ALAssetsLibraryAssetForURLResultBlock resultblock = ^(ALAsset *myasset)
{
ALAssetRepresentation *representation = [myasset defaultRepresentation];
fileName = [representation filename];
NSLog(@"fileName : %@",fileName);
};
ALAssetsLibrary* assetslibrary = [[ALAssetsLibrary alloc] init];
[assetslibrary assetForURL:imageURL
resultBlock:resultblock
failureBlock:nil];
UIImage *chosenImage = info[UIImagePickerControllerEditedImage];
self.profileImg.image = chosenImage;
[picker dismissViewControllerAnimated:YES completion:NULL];
profileImg.hidden = NO;
}
现在我想在另一个方法
中使用fileName的值- (IBAction)registerBtn:(UIButton *)sender {
NSLog(@"fileName path = %@", fileName);
}
在日志结果中,我得到" null "
在我的.h文件中,我实现了fileName变量。
那我怎样才能得到这个变量的值?
答案 0 :(得分:1)
完全选择图像(即你的didFinishPickingMediaWithInfo`)后,必须调用你的registerBtn
方法。
如果您只是想为图片设置唯一名称,那么您应该使用time stamp
。
您可以在didFinishPickingMediaWithInfo
中获取已挑选图片的元数据,
NSDictionary *metadata = info[UIImagePickerControllerMediaMetadata];
NSLog(@"%@", metadata);
然后从meradata字典中,您可以获取DateTimeOriginal
的值,这将提供媒体的选择日期。