ios - How to sort array based on another arrays position? -


i have tableview style being right detail. therefore have 2 arrays, 1 textlabels data, , other detailtextlabel.

there 2 "sort by" options. 1 sort textlabels data, , second sort detailtextlabels data. when sort first array (textlabels array), second array (detailtextlables array) have sorted based on firstarray`.

i know how sort arrays, how can sort 1 array based on another?

here's how sorted array: (it's array of dates.

firstarray.sort({ (a, b) -> bool in     a.earlierdate(b) == }) 

it's bit messy, can use enumerate work indices , elements @ same time:

array1.enumerate().sort {     return $0.element < $1.element }.map {$0.element}  array1.enumerate().sort {     return array2[$0.index] < array2[$1.index] }.map {$0.element} 

but it's simpler/easier 1 array.

struct item {     let prop1: int     let prop2: string }  var array = [     item(prop1: 1, prop2: "c"),     item(prop1: 2, prop2: "b"),     item(prop1: 3, prop2: "a") ]  array.sort { $0.prop1 < $1.prop1 }  array.sort { $0.prop2 < $1.prop2 } 

Comments

Popular posts from this blog

c# - Binding a comma separated list to a List<int> in asp.net web api -

Delphi 7 and decode UTF-8 base64 -

html - Is there any way to exclude a single element from the style? (Bootstrap) -