PHPickerViewControllerを使って、複数画像を取り出す基本的なコード
PHPickerViewControllerを使って画像を複数選択するコードを書く
didFinishPickingのメソッドの中でPHPickerResultの配列を順番に取り出すというイメージです。 非同期で画像は読み込まれるため、もしUIImageViewに表示させたいという場合は、メインメソッドで処理するようにDispatchQueueを使ってメインスレッドで処理させるようにする。
func picker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult]) {
picker.dismiss(animated: true, completion: nil)
for result in results {
result.itemProvider.loadObject(ofClass: UIImage.self, completionHandler: { (object, error) in
if let image = object as? UIImage {
DispatchQueue.main.async {
// Use UIImage
print("Selected image: \(image)")
}
}
})
}
}