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結合的 使用就能夠了。
更深層的須要再多使用和練習才能更加運用自如和理解它的更多好處。