Perfect Repeater

This package provides a method to schedule repeating/recurring events.

Relevant Examples

Getting Started

In addition to the PerfectLib, you will need the Perfect-Repeater dependency in the Package.swift file:

.Package(url:"", majorVersion: 1)

Using Perfect Repeater

Import the Perfect Repeater into each file that you wish to use the functions in:

import PerfectRepeater

The base form of executing this is:

Repeater.exec(timer: <Double>, callback: <Closure>)

The timer value is the time in seconds to repeat the event.

The callback contains a closure containing code to execute. This must contain a boolean return value. Returning true will requeue the event, and false will remove the event from the queue.

The following code demonstrates the process of repeating a closure containing your code and optionally re-queuing:

var opt = 1

let c = {
    () -> Bool in
    return true
let cc = {
    () -> Bool in
    print("Hello, world! (\(opt))")
    if opt < 10 {
        opt += 1
        return true
    } else {
        print("cc exiting.")
        return false

Repeater.exec(timer: 3.0, callback: c)
Repeater.exec(timer: 2.0, callback: cc)