Skip to main content
 首页 » 操作系统

swift之如何获取使用 ALAssetsLibrary 保存的照片的 url

2024年01月01日50lexus

我正在使用 ALAssetsLibrary 的 writeImageToSavedPhotosAlbum 保存一张照片,在这种方法中,我有一个在 objective-c 中的完成 block :

 ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];   
[library writeVideoAtPathToSavedPhotosAlbum:[NSURL fileURLWithPath:urlString]   
                            completionBlock:^(NSURL *assetURL, NSError *error) {   
                                if (error) {   
                                    NSLog(@"Save video fail:%@",error);   
                                } else {   
                                    NSLog(@"Save video succeed.");   
                                }   
                            }];   

}

但是当我快速显示这个时,我得到了一个对象:

 typealias ALAssetsLibraryWriteImageCompletionBlock = (NSURL!, NSError!) -> Void 

我只想获取 NSURL 在 Swift 中,我有完成 block 的代码:

 var imageWriteCompletionBlock: ALAssetsLibraryWriteImageCompletionBlock! 
 
 self.completionBlock = { 
            reason in println(reason) 
        } 

如何做到这一点?

谢谢!

请您参考如下方法:

ALAssetsLibrary().writeImageToSavedPhotosAlbum(image.CGImage,  
         orientation: ALAssetOrientation.fromRaw(image.imageOrientation.toRaw())!,      
     completionBlock:{ (path:NSURL!, error:NSError!) -> Void in 
                           println("\(path)") 
                     }) 

问候,