Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
import Foundation
struct Counter {
private var start: Double?
private var totalCount: Double = 0
private var incrementBy: Double
var isCounterRunning: Bool {
return start != nil
}
var incrementedCount: Double {
return totalCount + (start.map{ _ in incrementBy} ?? 0)
}
mutating func startCounter() {
start = 1
}
mutating func pauseCounter() {
totalCount = incrementedCount
start = nil
}
mutating func resetCounter() {
start = nil
totalCount = 0
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment