https://github.com/wilddylan/dlobserver
DLObserver For Easier KVO
https://github.com/wilddylan/dlobserver
Last synced: about 1 year ago
JSON representation
DLObserver For Easier KVO
- Host: GitHub
- URL: https://github.com/wilddylan/dlobserver
- Owner: wilddylan
- License: mit
- Created: 2015-07-28T16:41:43.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2015-07-28T16:43:23.000Z (almost 11 years ago)
- Last Synced: 2025-01-29T00:25:31.871Z (over 1 year ago)
- Language: Objective-C
- Size: 141 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DLObserver
DLObserver For Easier KVO
>1.基本用于Model的监听, 如需扩展需要自己处理
2.请对属性或者全局变量进行监听, 以免局部对象被释放造成奔溃
使用说明:
使用DLBind扩展宏进行增加监听, 使用DLDraw扩展宏来撤销监听。
如果你想监听一个Model的text属性, 那么就直接DLBind(对象, 属性) `subScribeBlock:`当有新的Value的时候就会调用这个Block.
如果你想移除监听, 那么直接使用DLDraw即可。
> [DLBind(_DLLabel, text) subScribeBlock:^(id value) {
NSLog(@"Label: %@", value);
}];
```objc
[DLBind(_DLLabel, text) subScribeBlock:^(id value) {
NSLog(@"Label: %@", value);
}];
[DLBind(_DLTextField, text) subScribeBlock:^(id value) {
NSLog(@"TextField: %@", value);
_DLLabel.text = value;
}];
// Label
_DLLabel.text = @"Hello, Dylan";
// TextField
// _DLTextField.text = @"Hello, Dylan (TextField)";
newModel = [[DLModel alloc] init];
[DLBind(newModel, name) subScribeBlock:^(id value) {
NSLog(@"%@", value);
}];
newModel.name = @"B_Student";
DLDraw(newModel, name);
newModel.name = @"C_Student";
```
如果想使用的话, Git地址在这里[DLObserver](https://github.com/WildDylan/DLObserver)