繁体   English   中英

需要帮助按 Swift 中的时间戳对结构进行排序

[英]Need help sorting a Struct by Timestamp in Swift

尝试按时间戳对 Swift 结构进行排序,并且确实需要一些帮助。 我的结构定义如下:

struct TripDetails {

  let tripDepartureTime: String
  var myLocations: [GeoPoint]
  var myDates: [Timestamp]

}

在变量 todaysTrip 中是以下数据:

TripDetails(
tripDepartureTime: "2020-05-23 22:56:52 +0000", 

myLocations: [<FIRGeoPoint: (21.561333, -80.033536)>, 
<FIRGeoPoint: (22.561288, -80.023592)>, 
<FIRGeoPoint: (20.561265, -80.063439)>], 

myDates: [<FIRTimestamp: seconds=1590274922 nanoseconds=795317000>, 
<FIRTimestamp: seconds=1590274802 nanoseconds=683353000>, 
<FIRTimestamp: seconds=1590274682 nanoseconds=679319000>])

我想根据 myDates 时间戳的时间按降序对特定行程的所有字段进行排序。 做了一段时间,无法弄清楚我做错了什么。 我在 StackOverflow 上看到了几篇关于这个问题的帖子,但它们似乎都不适用于我的情况。

建议您更改 model 的结构:

struct TripDetails {
    struct LocationInfo {
        var location: GeoPoint
        var timestamp: TimeStamp
    }

    let tripDepartureTime: String
    var locations: [LocationInfo]

} 

排序:

var tripDetails = ... // Getting model
tripDetails.locations.sort(by: { $0.timestamp.seconds > $1.timestamp.seconds })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM