ReactiveCocoaフレームワークで理解すべきいくつかの機能
1233 ワード
RACフレームワークが提供するAPIは、実際に開発されているエージェント、KVO、通知などをより集約し、より便利に使用できます.ReactiveCocoaは関数式応答式プログラミング思想の下で開発されたフレームワークである.以下は具体的な使用
通知
KVO
またはマクロの使用
エージェント
ブログよりまとめ:https://www.jianshu.com/p/cd4031fbf8ff
通知
[[[NSNotificationCenter defaultCenter] rac_addObserverForName:UIKeyboardDidShowNotification object:nil] subscribeNext:^(NSNotification * _Nullable x) {
NSLog(@"%@",x);
}];
KVO
[_redView rac_observeKeyPath:@"frame" options:NSKeyValueObservingOptionNew observer:nil block:^(id value, NSDictionary *change, BOOL causedByDealloc, BOOL affectedOnlyLastComponent) {
NSLog(@"1 - %@",value);
}];
またはマクロの使用
[RACObserve(_redView, frame) subscribeNext:^(id _Nullable x) {
NSLog(@"3 - %@",x);
}];
エージェント
// 1.
- (RACSubject *)btnClickSignal{
if (!_btnClickSignal) {
_btnClickSignal = [RACSubject subject];
}
return _btnClickSignal;
}
- (IBAction)btnClick:(id)sender{
[_btnClickSignal sendNext:@" "];
}
// 2.
[_greenView.btnClickSignal subscribeNext:^(id _Nullable x) {
NSLog(@"%@",x);
}];
ブログよりまとめ:https://www.jianshu.com/p/cd4031fbf8ff