我是在一個數組對象,我想排序多屬性排序斯威夫特陣列
let person = Person()
person.isHome = true
person.firstname = "Foo"
person.surname = "Bar"
等等
我取所有的人
guard let allPeople = controller.fetchedObjects as? Array<Person> else { return }
現在我想過濾和分類
var homeArray = allPeople
.filter { $0.isHome == true }
.sort { $0.surname < $1.surname }
所有罰款...除了,如果我想額外的「排序描述符」這樣的...
var homeArray = allPeople
.filter { $0.isHome == true }
.sort { $0.surname < $1.surname }
.sort { $0.firstname < $1.firstname }
.sort { $0.isOut == true && $1.isOut == false }
我還是希望他們按姓氏排序的,但我也希望他們按姓氏後名字排序及以上非受傷受傷...什麼是語法?我似乎無法在任何地方找到它...我是否必須回去使用NSArray?
它是那樣簡單
.sort { ($0.isOut == true && $1.isOut == false) && ($0.firstname < $1.firstname) && ($0.surname < $1.surname)}
更改'NSFetchedResultsController'的'fetchRequest'這是更比'manual'過濾更高效/排序 – vadian
如果我無法更改FRC,該怎麼辦?我知道這並沒有什麼意義,但是我正在爲一個框架工作,我必須在內部工作...所以我得到所有人,然後我必須在提取後進行篩選和排序......並不是那樣是不是一個更好的方式來做到這一點...更多的是,我需要這種排序語法,但具有多個屬性 – Magoo