作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在午夜不触发 applicationSignificantTimeChange,但在所有其他情况下使用它?
这按预期工作,但如何在午夜或之间(23:30 至 00:30)停止它?
func applicationSignificantTimeChange(_ application: UIApplication) {
NSLog("Application Significant Time Change")
Manager.setupTime()
}
最佳答案
您无法阻止 applicationSignificantTimeChange
在午夜触发。
Examples of significant time changes include the arrival of midnight, an update of the time by a carrier, and the change to daylight savings time.
解决方法:
您可以像下面这样输入 if 条件来检查当前时间是否在 23:30 - 00:30 之间并忽略它。
func applicationSignificantTimeChange(_ application: UIApplication) {
let currentTime = Date()
let midnight = Calendar.current.startOfDay(for: currentTime)
let thirtyMinsBeforeMidnight = midnight.addingTimeInterval(-30*60)
let thirtyMinutesAfterMidnight = midnight.addingTimeInterval(30*60)
if currentTime.timeIntervalSince(thirtyMinsBeforeMidnight) >= 0 && currentTime.timeIntervalSince(thirtyMinutesAfterMidnight) <= 0 {
// time between 23:30 - 00:30
}
else {
// time is not between 23:30 - 00:30
// do your stuff
NSLog("Application Significant Time Change")
Manager.setupTime()
}
}
关于ios - 如何在午夜不触发 applicationSignificantTimeChange,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55268897/
我是一名优秀的程序员,十分优秀!