我想排序的对象数组中具有“MM-DD-YYYY”和布尔字段的字符串日期字段的对象数组。我想创建一个函数,按日期字段和布尔字段排序数组。我很难弄清楚如何做到这一点。 done字段默认设置为false,并且在我的init func中不需要。通过字符串日期和布尔值排序对象数组IOS
var items = [BucketItem(title: "blah", des: "description", lat: 134.6, lon: 27.0, dat: "02-14-2017"),BucketItem(title: "blah", des: "description", lat: 134.6, lon: 27.0, dat: "02-11-2017"), BucketItem(title: "blah blah", des: "description", lat: 134.6, lon: 27.0, dat: "02-9-2017")]
我看着.sort
功能,但我也不怎么的日期,因为它们在字符串格式,我也不知道如何通过两个领域,而不仅仅是一个排序比较。我想排序,如果布尔值为true,那么它自动少于布尔字段为false的项目。如果两个布尔值都是错误的,那么它按日期排序。
上有一个在没有布尔字段中输入您例? –
用正确的dateFormat创建一个DateFormatter,然后'let date0 = dateformatter.date(from:$ 0.dat!)'和'let date1 = dateformatter.date(from:$ 1.dat!)',你的逻辑是什么布尔?这种做法如何? – Larme
可能重复的[Swift - 对多个条件的对象排序数组](http://stackoverflow.com/questions/37603960/swift-sort-array-of-objects-with-multiple-criteria) – Alexander