Import Uikitimport photos@available (IOS8.0, *)classCustomablum:nsobject {StaticLet sharedinstance =Customablum () var assetcollection:phassetcollection!var albumfound:bool=falsevar photosasset:phfetchresult!var collection:phassetcollection!var assetcollectionplaceholder:phobjectplaceholder!StaticLet Albumname ="Scan Pictures" Overrideinit () {super.init (); Self.createalbum ()}Privatefunc createalbum () {Let fetchoptions=phfetchoptions () fetchoptions.predicate= nspredicate (format:"title =%@", Customablum.albumname); Let Collection:phfetchresult=Phassetcollection.fetchassetcollectionswithtype (. Album, subtype:. Any, options:fetchoptions)ifLet _: Anyobject =Collection.firstobject {self.albumfound=trueassetcollection= Collection.firstobject as!Phassetcollection}Else{phphotolibrary.sharedphotolibrary (). performchanges ({Let createalbumrequest:phassetcoll Ectionchangerequest=Phassetcollectionchangerequest.creationrequestforassetcollectionwithtitle (customablum.albumname); Self.assetcollectionplaceholder=createalbumrequest.placeholderforcreatedassetcollection}, Completionhandler: {success, errorinchSelf.albumfound= (success?)true:false) if(Success) {Let Collectionfetchresult=Phassetcollection.fetchassetcollectionswithlocalidentifiers ([ Self.assetCollectionPlaceholder.localIdentifier], Options:nil) print (Collectionfetchresult) Self.assetcollection= Collectionfetchresult.firstobject as!Phassetcollection}}) }} func SaveImage (image:uiimage) {ifSelf.assetcollection! =Nil {phphotolibrary.sharedphotolibrary (). performchanges ({let assetchangerequest=phassetchangerequest.creationrequestforassetfromimage (image) let Assetplaceholder=Assetchangerequest.placeholderforcreatedasset let Albumchangerequest=phassetcollectionchangerequest (forAssetCollection:self.assetCollection) albumchangerequest?. Addassets ([assetplaceholder!])}, Completionhandler:nil) }}}
The SaveImage method is dropped directly when used.
Swift saves pictures to a custom album