Skip to content

About

define and trigger events for class.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

Repository files navigation

SwiftEvents

define and trigger events for class.

Usage

Add protocol 'EventsOwner' to class and define events.

class SomeClass : EventsOwner {
    var someEvent: Event { return Event(name: "someEvent", owner: self) }
    
    func doSomeEvent() {
        someEvent.trigger()
    }
}
let someObject = SomeClass()
someObject.someEvent.addAction { _ in
    print("SomeEvent did trigger!")
}

someObject.doSomeEvent()
//SomeEvent did trigger!

Example

Create a closure button.

class ClourseButton : UIButton, EventsOwner {
    override init(frame: CGRect) {
        super.init(frame: frame)
        addTarget(self, action: #selector(didClick), for: .touchUpInside)
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    var clickEvent: SwiftEvents.Event { return SwiftEvents.Event(name: "click", owner: self) }
    @objc private func didClick() {
        clickEvent.trigger()
    }
}

Lisence

The MIT License (MIT)

About

define and trigger events for class.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages