巨大データを扱う時に、例えば写真のデータ:
id,filepath,date,filenameなどなどの基本情報
isSelected,rating,openEyeなどなどのアプリに必要なフラグ
こんなものがありますが、必要におうじて様々な配列を抽出する必要がしばしば
FilterとMapを使います。
ImageViewModel
struct ImageViewModel {
let id: String = ""
let name: String = ""
var isSelected: Bool = false
}
isSelectがtrueになっているすべての写真を取得して、
それらの写真のidを新しい配列として出したい時:
let imageViewModels = [ImageViewModel]()
let targetImageIds = imageViewModels.filter({ $0.isSelected }).map({ $0.id })