EasyMVVM是EasyReact的上层框架,可以用来作为MVVM的最佳实践。
- 可监听的 action
- 绑定一个 action 到 UIButton 上
- 串行/并行执行若干个 action
- 在值变化时执行一个action并将值本身作为参数
- UIControls 和 UIGestureRecognizers 支持可监听的 value 扩展
- 内存高速数据交换中心
- 事件对象 Event 和事件处理行为 Handler
- 数据绑定,和事件绑定API
- 带有修改记录的容器
- iOS 8.0+
- Xcode 8.0+
clone 本项目,在 Example 文件夹下执行pod install
,然后打开EasyMVVM.xcworkspace
.
在Podfile
中添加
pod 'EasyMVVM'
然后运行pod install
即可
ERAction<NSNumber *> *action = [[ERAction alloc] initWithBlock:^(id param, EZRNode *result, EZRNode<NSError *> *error) {
result.value = @([param integERNode] * 10);
}];
[action execute:@123];
// action.result.value => @1230
ERAction *action = [ERAction actionWithBlock:^(id param, EZRNode *result, EZRNode<NSError *> *error) {
if (!param) {
error.value = [NSError errorWithDomain:@"xx" code:123 userInfo:@{@"reason": @"param is nil"}];
} else {
result.value = @"succ";
}
}];
[action execute:nil];
// action.error.value => [NSError errorWithDomain:@"xx" code:123 userInfo:@{@"reason": @"param is nil"}];
EasyMVVM 包含了完善的单元测试,相关代码在示例工程的 Tests 文件夹下。你可以打开示例工程并执行 Test 命令来运行这些单元测试。
WilliamZang, [email protected]
姜沂, [email protected]
Qin Hong, [email protected]
SketchK, [email protected]
EasyReact is Apache Public License 2.0