如何快速每1小时生成一个randomString?

时间:2019-05-21 06:32:38

标签: swift timer

在我的应用程序中,我们正在发送TimeStamp以及用于从中获取数据的API调用的参数。我可以使用任何随机字符串来传递值,但是我使用的是TimeStamp,因为每次都会不同,因此每次都可以获取新数据而无需兑现。现在,我们的要求是每小时更新一次TimeStamp,这样,每当我进行API调用时,而不是每次都显示新数据时,数据就会每小时更新一次。

我的API如下:

let url = "https://myurl.api.getthisapidata?id=\(someID)&nocache=\(timeStamp)"

现在要代替时间戳记,我要发送一些随机字符串,例如"\(arc4random())"。但是我希望只在一个小时后才更改此随机字符串,以便我可以转到其他视图或关闭应用程序,然后在一个小时前打开该应用程序,此随机字符串应保持不变。

希望您能理解我要传达的内容。

时间戳扩展:

extension Date {
    var ticks: UInt64 {
        let timeStamp = UInt64((self.timeIntervalSince1970 + 62_135_596_800) * 10_000_000)
        return timeStamp
    }
}

用法:

print(Date().ticks)

1 个答案:

答案 0 :(得分:0)

使用component(_:from:)方法从当前日期获取当前小时值。然后附加一个随机字符串。

SELECT
    MAX(CASE WHEN row_num = 1 THEN month END) AS month,
    customer_id,
    1 AS row_num,
    DATE_DIFF(MAX(CASE WHEN row_num = 2 THEN verified_date END),
              MAX(CASE WHEN row_num = 1 THEN verified_date END), DAY) AS difference
FROM yourTable
GROUP BY
    customer_id;