using swift 2.0 save photo to custom album
新建了一個(gè)CustomAblum類梧疲,寫成了單例, 這個(gè)寫單例的方式是swift中的最好的一種方式:
staticletsharedInstance = CustomAblum()
定義幾個(gè)變量:
varassetCollection: PHAssetCollection!varalbumFound : Bool =falsevarphotosAsset: PHFetchResult!varcollection: PHAssetCollection!varassetCollectionPlaceholder: PHObjectPlaceholder!staticletalbumName ="愛拍美圖"
在初始化方法中創(chuàng)建自定義相冊
init() {self.createAlbum()? ? }
privatefunccreateAlbum(){letfetchOptions =PHFetchOptions()? ? ? ? fetchOptions.predicate =NSPredicate(format:"title = %@",CustomPhotoAlbum.albumName)letcollection :PHFetchResult=PHAssetCollection.fetchAssetCollectionsWithType(.Album, subtype: .Any, options: fetchOptions)iflet_:AnyObject= collection.firstObject {self.albumFound =trueassetCollection = collection.firstObjectas!PHAssetCollection}else{PHPhotoLibrary.sharedPhotoLibrary().performChanges({letcreateAlbumRequest :PHAssetCollectionChangeRequest=PHAssetCollectionChangeRequest.creationRequestForAssetCollectionWithTitle(CustomPhotoAlbum.albumName)self.assetCollectionPlaceholder = createAlbumRequest.placeholderForCreatedAssetCollection? ? ? ? ? ? ? ? }, completionHandler: { success, errorinself.albumFound = (success ?true:false)if(success) {letcollectionFetchResult =PHAssetCollection.fetchAssetCollectionsWithLocalIdentifiers([self.assetCollectionPlaceholder.localIdentifier], options:nil)print(collectionFetchResult)self.assetCollection = collectionFetchResult.firstObjectas!PHAssetCollection}? ? ? ? ? ? })? ? ? ? }? ? }
寫一個(gè)saveImage方法:
funcsaveImage(image: UIImage){ifself.assetCollection !=nil{PHPhotoLibrary.sharedPhotoLibrary().performChanges({letassetChangeRequest =PHAssetChangeRequest.creationRequestForAssetFromImage(image)letassetPlaceholder = assetChangeRequest.placeholderForCreatedAssetletalbumChangeRequest =PHAssetCollectionChangeRequest(forAssetCollection:self.assetCollection)? ? ? ? ? ? ? ? albumChangeRequest?.addAssets([assetPlaceholder!])? ? ? ? ? ? ? ? }, completionHandler:nil)? ? ? ? }? ? }
調(diào)用保存時(shí)磺平,這樣調(diào)用:
CustomPhotoAlbum.sharedInstance.saveImage(image)
文/ShawnDu(簡書作者)
原文鏈接:http://www.reibang.com/p/365a30d6510f
著作權(quán)歸作者所有,轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)控汉,并標(biāo)注“簡書作者”。