FranZhou / FZObserver

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FZObserver

CI Status Version License Platform

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Installation

FZObserver is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'FZObserver'

Directions for use

The first way

observer define

var observer: FZObserver<UInt32?> = FZObserver(wrappedValue: nil)

we can addObserver like this

observer.addObserver(key: "addObserver", target: nil) { (change) in
    print("addObserver = old: \(String(describing: change.old)) -> new: \(String(describing: change.new))")
}

observer execute when value assign to observer's wrappedValue

observer.wrappedValue = arc4random()

The second way

observer define

/// we can get a property when we use @FZObserver,
/// It is: var _store: FZObserver<UInt32?>
@FZObserver var store: UInt32? = nil
_store.addObserver(key: "addObserver", target: nil) { (change) in
    print("addObserver = old: \(String(describing: change.old)) -> new: \(String(describing: change.new))")
}

observer execute when this happends

store = arc4random()

Author

FranZhou, fairytale_zf@outlook.com
swift QQ交流群: 628172981

License

FZObserver is available under the MIT license. See the LICENSE file for more info.

About

License:MIT License


Languages

Language:Swift 92.6%Language:Ruby 7.4%