SwiftTrigger
SwiftTrigger is used to easily check if some events should be trigged by executing times:
- The first time run
- The Nth time run
- every Nth times run
- every Nth times run but stops after repeating M times
Events Storage
Behind the scene, SwiftTrigger uses coredata to save events. All the coredata files are in its own folder whose default name is "SwiftTriggerDB". You can always change it by setting SwiftTrigger.Config.containerFolder to your favorite name.
Requirements
- iOS 10.0+
- Xcode 9.0+
Install
CocoaPods
To integrate SwiftTrigger into your Xcode project using CocoaPods, specify it in your Podfile
:
pod 'SwiftTrigger', '~> 2.0.3'
Cathage
github "guoyingtao/Trigger"
Usage
Create an event triggered only for the first time run
SwiftTrigger().oneshotCheck("MyEvent") {
// do something
}
Create an event triggered for the Nth time run then stop triggering after that
let event = SwiftTrigger.Event(id: "MyEvent", targetRunningTimes: N)
SwiftTrigger().monitor(event) { {
// do something
}
Create an event triggered for the every Nth times run
let event = SwiftTrigger.Event(id: "MyEvent", targetRunningTimes: N, repeatTimes: 0)
SwiftTrigger().monitor(event) {
// do something
}
Create an event triggered for the every Nth times fun but stop triggering after the event repeated for M times
let event = SwiftTrigger.Event(id: "MyEvent", targetRunningTimes: N, repeatTimes: M)
SwiftTrigger().monitor(event) {
// do something
}
Clear triggers for events
let event1 = "MyEvent1"
let event2 = "MyEvent2"
SwiftTrigger().clearEvent(by: event1)
SwiftTrigger().clearEvents(by: event1, event2)
SwiftTrigger().clearEvents(by: [event1, event2])
SwiftTrigger().clearAll()