MVVM配合 RAC 更能发挥的淋漓尽致。框架
咱们把 MVVM 第一篇的例子 KVO 的事件 替换成 配合RAC 框架使用,server
OC的话直接导入 : pod 'ReactiveObjC' Swift 直接用 RXSwift就能够。事件
把 ViewModel里加:rem
@implementation MVVMViewModelit
- (instancetype)init {io
if (self == [super init]) {table
[RACObserve(self, contentKey) subscribeNext:^(id _Nullable x) {im
NSString *contentKey = x;tab
NSArray *array = @[@"转帐",@"信用卡",@"充值中心",@"蚂蚁借呗",@"电影票",@"滴滴出行",@"城市服务",@"蚂蚁森林"];vi
NSMutableArray *mArray = [NSMutableArray arrayWithArray:array];
@synchronized (self) {
[mArray removeObject:contentKey];
}
if (self.successBlock){
self.successBlock(mArray);
}
}];
// [self addObserver:self forKeyPath:@"contentKey" options:(NSKeyValueObservingOptionNew) context:nil];
}
return self;
}
而后就能够把KVO的一些回调删除了。一句话 简洁 便于管理 实现 监听和联动。
一个简单的 RAC 和MVVM结合的 使用就能够了。
更深层的须要再多使用和练习才能更加运用自如和理解它的更多好处。