Home
GNR
Cancel

iOS技术栈思维导图.png

ReactiveCocoa (3)解析集合

字典 1、使用rac_sequence.sinal,解析这个字典 //字典 NSDictionary * dict = @{@"account":@"aaa", @"name":@"modi", @"age":@18}; //转换成集合 [dict.rac_sequence.signal s...

ReactiveCocoa (1)简介和安装

简介: ReactiveCocoa,简称RAC,是函数响应式编程框架。RAC具有函数式编程和响应式编程的特性。它主要吸取了.Net的 Reactive Extensions的设计和实现。 为什么我们要用它 1) 开发过程中,状态以及状态之间依赖过多,RAC更加有效率地处理事件流,而无需显式去管理状态。在OO或者过程式编程中,状态变化是最难跟踪,最头痛的事。这个也是最重要的一点。 2)...

ReactiveCocoa (5)常用的宏

1、建立KVO 宏的样子: 使用方法: //1 KVO - (void)KVO{ // 只要这个对象的属性一改变就会产生信号 [RACObserve(self.view, frame) subscribeNext:^(id x) { NSLog(@"%@",x); }]; } 2、包装元组 宏的样子: 使用方法: //2 包装元...

ReactiveCocoa (4)常用方法集

1、代替代理 实质是监听某对象是否调用了某一方法。在blueView中有一个btnClick()方法,即按钮的触发方法,我们监听这个方法,即传入这个选择器。 //RACSubject rac_signalForSelector //只要传值就必须使用RACSubject [[_blueView rac_signalForSelector:@selector(btnClick:)] sub...

ReactiveCocoa (6) 多次订阅一次请求

每次订阅时都会发送请求。 //1 创建信号 RACSignal * signal = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) { NSLog(@"发送数据的请求"); //3 发送请求 [subscriber sendNext:@1]; ...

ReactiveCocoa (2)信号的订阅、取消订阅、接收

订阅信号及接收 1、创建信号(冷信号) 创建信号,需要传入订阅者 //didSubscriber 调用:只要一个信号被订阅就会调用 //didSubscriber 作用:发送数据 RACDisposable * (^didSubscribe)(id <RACSubscriber> subscriber) = ^RACDisposable * (id <RACSubsc...

实现模态跳转透明效果

​ 示例代码如下: - (IBAction)modal:(id)sender { UIStoryboard * sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; ModalViewController * mvc = [sb instantiateViewControllerWithId...

将图片保存到本地相册

1、将图片保存到iPhone本地相册 调用UIImageWriteToSavedPhotosAlbum()函数,传入image,target传self,SEL是保存图片后响应结果选择器。 /** * 将图片保存到iPhone本地相册 * UIImage *image 图片对象 * id completionTarget ...

锁屏/解锁事件监听的优化

定义两个宏:  //监听锁屏事件 #define kNotificationLock CFSTR("com.apple.springboard.lockcomplete") //监听屏幕状态变化事件 #define kNotificationChange CFSTR("com.apple.springboard.lockstate") 注册达尔文通知: 注意此处CFNotificat...