我有一个应用程序,使用UIImagePickerController从相机和照片库中检索图片。在图像选择器委托中,我只想保存选定图像的NSURL(UIImagePickerControllerReferenceURL),以节省内存。当用户需要稍后查看图像时,我直接从照片库中使用PHCachingImageManager加载它。
现在-这整个过程对于用户从库中选择的图片非常有效,但对于直接从相机拍摄的图片却不起作用(因为没有URL)。我目前正在尝试使用PHAsset保存图片,但我不知道如何获取所保存图片的NSURL。
这是我一直在做的事情:
现在-这整个过程对于用户从库中选择的图片非常有效,但对于直接从相机拍摄的图片却不起作用(因为没有URL)。我目前正在尝试使用PHAsset保存图片,但我不知道如何获取所保存图片的NSURL。
这是我一直在做的事情:
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject])
{
picker.dismissViewControllerAnimated(true, completion: nil)
let pickedImage = info[UIImagePickerControllerOriginalImage] as! UIImage
if picker.sourceType == .Camera
{
// When taking a picture with the camera, store it in the user roll
PHPhotoLibrary.sharedPhotoLibrary().performChanges(
{ () -> Void in
// save the image
PHAssetCreationRequest.creationRequestForAssetFromImage(pickedImage)
// TODO how to get the asset url
}, completionHandler:
{ (finished, error) -> Void in
if (finished)
{
}
}
)
}
else
{
let pickedImageUrl: NSURL? = info[UIImagePickerControllerReferenceURL] as? NSURL
currentImageUrl = pickedImageUrl
currentImage = pickedImage
toggleImageInfoView(true)
toggleMapState(true)
}
}
有什么方法可以获取已保存图片的URL吗?
最好的, 乔治