Swift Package Index


A simple library that takes a closure and executes it at the specified interval until the closure returns false or the application is terminated.


  • The latest stable release is 1.1.0. Released almost 2 years ago.
  • The last commit to master was almost 2 years ago.

Swift Version Compatibility

  • 1.1.0 and master
    5.3
    5.2
    5.1
    5.0
    4.2
Full build results

Platform Compatibility

  • 1.1.0 and master
    iOS
    macOS(Intel)
    macOS(ARM)
    Linux
    tvOS
    watchOS
Full build results

Perfect Repeater

The Perfect "Repeater" is a simple library that takes a closure and executes it at the specified interval until the closure returns false or the application is terminated.

Note that a demo is located at https://github.com/PerfectExamples/Perfect-Repeater-Demo that shows the operation of the library.

Compatibility with Swift

The master branch of this project currently compiles with Xcode 9 or the Swift 4 toolchain on Ubuntu, and is compatible with both Perfect 2.x and 3.x

Building

Add this project as a dependency in your Package.swift file.

.Package(url:"https://github.com/PerfectlySoft/Perfect-Repeater.git", majorVersion: 1)

Usage

Include in your file the import statement:

import PerfectRepeater

The base form of executing this is:

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

To demonstrate the process of repeating a closure containing your code and optionally re-queuing:

var opt = 1

let c = {
	() -> Bool in
	print("XXXXXX")
	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)

Further Information

For more information on the Perfect project, please visit perfect.org.