我有一个类型的数组Any
,该数组中有两种不同的类型,Person
它们SportsMan
都有一个名为rank
. 我想根据排名对数组进行排序。以下是我今天的做法,并且有效:
self.persons.sort {
let a = ($0 as AnyObject) as? Person
let b = ($0 as AnyObject) as? SportsMan
let l = a?.rank ?? b?.rank
let c = ($1 as AnyObject) as? Person
let d = ($1 as AnyObject) as? SportsMan
let r = c?.rank ?? d?.rank
return l! < r!
}
!
由于in ,我感到有点不确定l! < r!
。这是解决这个问题的好方法,还是有任何内置函数可以用来解决这个问题?