performChangesAndWait(_:)
performChangesAndWait(_:)
performChangesAndWait(_:) Instance Method of PHPhotoLibrary Synchronously runs a block that requests changes to be performed in the photo library.
func performChangesAndWait(_ changeBlock: @escaping () -> Void) throwsParameters
changeBlock
A block that requests changes to be performed.
This block takes no parameters and has no return value.
Discussion
Do not call this method from the main thread. Your change block, and the work that Photos performs on your behalf to apply the changes it requests, take some time to execute. (Photos may need to prompt the user to perform changes, so this method can block execution indefinitely.) Use this method if you are already performing work on a background queue that results in a change to be applied to the Photos library. To request changes from the main queue, use the performChanges(:completionHandler:)) method instead.
Note: For each call to this method, iOS shows an alert asking the user for permission to edit the contents of the photo library. If your app needs to submit several changes at once, combine them into a single change block. For example, to edit the content of multiple existing photos, create multiple `
doc://com.apple.photokit/documentation/Photos/PHAssetChangeRequestobjects and set thedoc://com.apple.photokit/documentation/Photos/PHAssetChangeRequest/contentEditingOutputproperty on each to an independentdoc://com.apple.photokit/documentation/Photos/PHContentEditingOutput` object.
Handling Errors in Swift: In Swift, this method returns
Voidand is marked with thethrowskeyword to indicate that it throws an error in cases of failure.You call this method in a
tryexpression and handle any errors in thecatchclauses of adostatement, as described in Error Handling in The Swift Programming Language andAbout Imported Cocoa Error Parameters.