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) {
// 用户名发生了变化
}];
网友评论