Skip to content

Instantly share code, notes, and snippets.

Created August 4, 2019 15:20
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
What would you like to do?
final class Event: KeyValueObservable {
let observationStore = ObservationStore<Event>()
var title: String = "Initial Title" {
didSet {
didChangeValue(for: \Event.title)
final class ViewController: UIViewController {
let event = Event()
@IBOutlet weak var label: UILabel!
override func viewDidLoad() {
event.addObserver(self, keyPath: \.title, options: .initial) { (observer, title) in
observer.label.text = title
@IBAction func changeTitle(_ sender: Any) {
event.title = "New Title"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment