美文网首页
ReactiveObjc- Category

ReactiveObjc- Category

作者: 得_道 | 来源:发表于2020-11-20 10:26 被阅读0次

    UI - Category(常用汇总)

    1、rac_prepareForReuseSignal: 需要复用时用
    相关UI: MKAnnotationView、UICollectionReusableView、UITableViewCell、UITableViewHeaderFooterView

    2、rac_buttonClickedSignal:点击事件触发信号
    相关UI:UIActionSheet、UIAlertView

    3、rac_command:button类、刷新类相关命令替换
    相关UI:UIBarButtonItem、UIButton、UIRefreshControl

    4、rac_signalForControlEvents: control event 触发
    相关UI:UIControl

    5、rac_gestureSignal UIGestureRecognizer 事件处理信号
    相关UI:UIGestureRecognizer

    6、rac_imageSelectedSignal 选择图片的信号
    相关UI:UIImagePickerController

    7、rac_textSignal
    相关UI:UITextField、UITextView

    8、可实现双向绑定的相关API

    rac_channelForControlEvents: key: nilValue:
    相关UI:UIControl类
    rac_newDateChannelWithNilValue:
    相关UI:UIDatePicker
    rac_newSelectedSegmentIndexChannelWithNilValue:
    相关UI:UISegmentedControl
    rac_newValueChannelWithNilValue:
    相关UI:UISlider、UIStepper
    rac_newOnChannel
    相关UI:UISwitch
    rac_newTextChannel
    相关UI:UITextField

    Foundation - Category (常用汇总)

    1、NSArray
    rac_sequence 信号集合
    2、NSData
    rac_readContentsOfURL: options: scheduler: 比oc多出线程设置
    3、NSDictionary
    rac_sequence 不解释
    rac_keySequence key 集合
    rac_valueSequence value 集合
    4、NSEnumerator
    rac_sequence 不解释
    5、NSFileHandle
    rac_readInBackground 见名知意
    6、NSIndexSet
    rac_sequence 不解释
    7、NSInvocation
    rac_setArgument: atIndex: 设置参数
    rac_argumentAtIndex 取某个参数
    rac_returnValue 所关联方法的返回值
    8、NSNotificationCenter
    rac_addObserverForName: object:注册通知
    9、NSObject
    rac_willDeallocSignal 对象销毁时发动的信号
    rac_description debug用
    rac_observeKeyPath: options: observer: block:监听某个事件
    rac_liftSelector: withSignals: 全部信号都next在执行
    rac_signalForSelector: 代替某个方法
    rac_signalForSelector:(SEL)selector fromProtocol:代替代理
    9、NSOrderedSet
    rac_sequence 不解释
    10、NSSet
    rac_sequence 不解释
    11、NSString
    rac_keyPathComponents 获取一个路径所有的部分
    rac_keyPathByDeletingLastKeyPathComponent 删除路径最后一部分
    rac_keyPathByDeletingFirstKeyPathComponent 删除路径第一部分
    rac_sequence 不解释 (character)
    rac_readContentsOfURL: usedEncoding: scheduler: 比之OC多线程调用
    12、NSURLConnection
    rac_sendAsynchronousRequest 发起异步请求
    13、NSUserDefaults
    rac_channelTerminalForKey 用于双向绑定,此乃一端


    常用案例

    监听文本框文字改变

      [_textField.rac_textSignal subscribeNext:^(id x) {
    
           NSLog(@"文字改变了%@",x);
       }];
    

    代理方法

    [[self rac_signalForSelector:@selector(webViewDidStartLoad:)
        fromProtocol:@protocol(UIWebViewDelegate)]
        subscribeNext:^(id x) {
            // 实现 webViewDidStartLoad: 代理方法
        }];
    

    target-action

    [[self.avatarButton rac_signalForControlEvents:UIControlEventTouchUpInside]
        subscribeNext:^(UIButton *avatarButton) {
            // avatarButton 被点击了
        }];
    

    通知

    [[[NSNotificationCenter defaultCenter]
        rac_addObserverForName:kReachabilityChangedNotification object:nil]
        subscribeNext:^(NSNotification *notification) {
            // 收到 kReachabilityChangedNotification 通知
        }];
    

    KVO

    [RACObserve(self, username) subscribeNext:^(NSString *username) {
        // 用户名发生了变化
    }];
    

    相关文章

      网友评论

          本文标题:ReactiveObjc- Category

          本文链接:https://www.haomeiwen.com/subject/xvravktx.html