loadObject
1
2
3
4
5
6
7
8
9
10
11
12
13
14
let images = results
.map { $0.itemProvider }
.map { item in
let name = item.suggestedName
var itemImage: UIImage?
var itemData: Data?
if item.canLoadObject(ofClass: UIImage.self) {
item.loadObject(ofClass: UIImage.self) { image, _ in
itemImage = image as? UIImage
}
}
itemData = itemImage?.pngData()
return ItemManagingViewModel.PickedImage(name: name, image: itemImage, data: itemData)
}
이러한 로직으로 데이터를 저장하려 했는데
계속 image에 nil이 들어있길래 뭐가 문젠가 했더니
비동기적으로 로딩하는것이고 뒷부분은 completionHandler여서
저렇게 map가지고 한번에 인스턴스를 만들 수 없던 것이었다