Swift 計時器含代碼

Swift 計時器

在開發移動應用程序時,有時需要安排一些任務在將來發生。愛掏網 - it200.comSwift提供了一個計時器類,我們可以在一定時間間隔后執行任務。愛掏網 - it200.com

在這篇文章中,我們將討論如何使用swift計時器來安排任務。愛掏網 - it200.com同時,我們還將討論如何使用重復和非重復計時器。愛掏網 - it200.com

下面的代碼創建并運行了一個重復計時器。愛掏網 - it200.com

let timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(fireTimer), userInfo: nil, repeats: true)

上述代碼要求在同一類中定義一個@objc方法fireTimer()。愛掏網 - it200.com

@objc func fireTimer(){
        debugPrint("Timer fired")
    }

在這里,我們已經將定時器設置為每1秒執行一次。愛掏網 - it200.com因此,fireTimer()方法將每1秒被調用一次。愛掏網 - it200.com然而,在創建重復定時器時,Swift允許我們定義閉包,如下所示。愛掏網 - it200.com

let timer = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { (timer) in
        debugPrint("Timer fired")
    }

兩個初始化方法都用于返回創建的計時器。愛掏網 - it200.com然而,我們可以將返回值存儲在屬性中,以便稍后可以使其無效。愛掏網 - it200.com

創建非重復計時器

如果我們只想運行代碼一次,就需要創建非重復計時器。愛掏網 - it200.com為此,我們需要在創建計時器時將repeats屬性更改為false。愛掏網 - it200.com

    let timer = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: false) { (timer) in
        debugPrint("Timer fired")
    }

結束一個計時器

我們可以通過調用計時器對象的invalidate()方法來結束一個已存在的計時器。愛掏網 - it200.com考慮以下示例,它每秒鐘運行一次代碼,共運行四次,然后使計時器失效。愛掏網 - it200.com

var count = 0
let timer = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { (timer) in
    debugPrint("Timer fired")
    count = count + 1
    if(count == 4){
        timer.invalidate()
    }
}

它在控制臺上打印以下輸出。愛掏網 - it200.com

"Timer fired"
"Timer fired"
"Timer fired"
"Timer fired"

以上示例中,我們在創建計時器時使用了閉包。愛掏網 - it200.com我們也可以在這里使用方法的方式。愛掏網 - it200.com但是,在方法中無效化計時器對象如下所示。愛掏網 - it200.com

class TimerExample:NSObject{
    var count = 0

    let timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(fireTimer), userInfo: nil, repeats: true)

    @objc func fireTimer(){
        debugPrint("Timer Fired")
        count = count + 1
        if(count == 4){
            timer.invalidate()
        }
    }
}

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 少妇高潮惨叫喷水在线观看| 久久成人国产精品免费软件| 哆啪啪免费视频| 国产真实伦实例| 娇小枯瘦日本xxxx| 日韩a在线播放| 波多野结衣最新电影| 翁止熄痒禁伦短文合集免费视频 | 亚洲欧洲国产经精品香蕉网| 国产hd高清freexxxx| 国产欧美久久一区二区三区| 女人18毛片a级毛片免费视频| 日本三级午夜理伦三级三| 欧美乱大交xxxxxbbb| 潮喷大喷水系列无码久久精品| 色天天综合色天天害人害己| 激情五月激情综合网| 91精品国产9l久久久久| 一级毛片视频免费观看| 人善交video欧美| 国产一级毛片在线| 国产精品免费电影| 国产视频一区在线| 好大好爽快点视频| 成人性生交大片免费视频| 日本哺乳期网站xxxx| 春雨直播免费直播视频在线观看下载| 欧美精品偷自拍另类在线观看 | 在线观看不卡视频| 天天综合网天天综合色| 岳双腿间已经湿成一片视频| 日本xxx网站| 成人影片麻豆国产影片免费观看| 日本不卡免费新一区二区三区| 日韩一区二区三区精品| 日韩国产在线观看| 日本动漫h在线| 把胡萝卜立着自己坐上去| 无码一区二区三区AV免费| 成人激情免费视频| 女人zozozo与禽交|