Swift - 间隔时间操作 ①

作者: 小黑Swift | 来源:发表于2016-11-27 09:24 被阅读77次

有时候我们想对某些事件在某些时间段内进行重复操作,可通过判断上次操作的时间与当前时间间隔...

突然间想到很多东西可以通过时间纬度来诞生新的解决方案

class TimeControlCenter {
    
    static let gm = TimeControlCenter()
    
    var pastTimesDict:[String:Int] = [:]

    /// 判断是否满足间隔操作
    ///
    /// - Parameters:
    ///     - keyName: 当前操作名字
    ///     - s: 间隔秒数
    /// - Returns: true 可操作  false 未到时间
    func afterTimes(keyName:String,s:Int) -> Bool {
        
        let now = NSDate()
        let timeInterval:NSTimeInterval = now.timeIntervalSince1970
        let timeStamp = Int(timeInterval)

        if let pastTime = pastTimesDict[keyName] {
            if timeStamp - pastTime > s {
                pastTimesDict[keyName] = timeStamp
                return true
            } else {
                return false
            }
        } else {
            pastTimesDict[keyName] = timeStamp
            return true
        }
    }
}

使用:

if TimeControlCenter.gm.afterTimes("Aciton1", s: 10) {
    print("Aciton1 执行")
}

相关文章

  • Swift - 间隔时间操作 ①

    有时候我们想对某些事件在某些时间段内进行重复操作,可通过判断上次操作的时间与当前时间间隔... 突然间想到很多东西...

  • 6. RxSwift 订阅操作过滤1 map、buffer、fi

    map 同 Swift中 map 用法一样,对值进行处理并返回 buffer timeSpan 缓存间隔时间、 ...

  • RxJava2.x-interval语法

    一、interval语法 日志 总结 1、interval 操作符用于间隔时间执行某个操作,其接受三个参数,分别是...

  • 过滤操作符

    debounce操作符 debounce操作符对源Observable每产生一个结果后,如果在规定的间隔时间内没有...

  • Swift4.0 之KVC赋值模型数据

    嗯,没错 KVC 赋值操作 之前好好的swift3.0 赋值操作 所有的key都在swift4.0 变得找不到,...

  • Swift Programmatically-纯代码初学简易Sw

    Swift Programmatically-纯代码初学简易Swift项目 无需操作任何 StoryBoard 或...

  • Pointer In Swift

    Manual Memery Managment In Swift Swift中的指针与C的对应关系 全局操作函数 ...

  • swift类型转化

    一: swift类型转化的四种操作 Swift是强类型语言,但也允许开发者通过is、as、as?和as!这四种操作...

  • Swift 操作符

    Swift 支持重载操作符这样的特性。可以直接重载像 +,-,* 这样的操作符,因为 Swift 中已经有定义了 ...

  • Swift字符串操作

    Xcode 8.0 Swift 3.0 字符串操作

网友评论

    本文标题:Swift - 间隔时间操作 ①

    本文链接:https://www.haomeiwen.com/subject/vuagpttx.html