https://github.com/guoyingtao/trigger
SwiftTrigger is used to easily check if some events should be trigged by executing times
https://github.com/guoyingtao/trigger
checkruntimes swift swift5 trigger triggers
Last synced: 3 months ago
JSON representation
SwiftTrigger is used to easily check if some events should be trigged by executing times
- Host: GitHub
- URL: https://github.com/guoyingtao/trigger
- Owner: guoyingtao
- License: mit
- Created: 2017-12-29T02:59:08.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2019-05-22T22:31:58.000Z (over 6 years ago)
- Last Synced: 2025-09-12T12:20:17.455Z (4 months ago)
- Topics: checkruntimes, swift, swift5, trigger, triggers
- Language: Swift
- Homepage:
- Size: 118 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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`:
```ruby
pod 'SwiftTrigger', '~> 2.0.3'
```
### Cathage
```ruby
github "guoyingtao/Trigger"
```
## Usage
### Create an event triggered only for the first time run
```swift
SwiftTrigger().oneshotCheck("MyEvent") {
// do something
}
```
### Create an event triggered for the Nth time run then stop triggering after that
```swift
let event = SwiftTrigger.Event(id: "MyEvent", targetRunningTimes: N)
SwiftTrigger().monitor(event) { {
// do something
}
```
### Create an event triggered for the every Nth times run
```swift
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
```swift
let event = SwiftTrigger.Event(id: "MyEvent", targetRunningTimes: N, repeatTimes: M)
SwiftTrigger().monitor(event) {
// do something
}
```
### Clear triggers for events
```swift
let event1 = "MyEvent1"
let event2 = "MyEvent2"
SwiftTrigger().clearEvent(by: event1)
SwiftTrigger().clearEvents(by: event1, event2)
SwiftTrigger().clearEvents(by: [event1, event2])
SwiftTrigger().clearAll()
```