好用的ReactiveCocoa解析.docx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
这样好用的ReactiveCocoa,根本停不下来前戏我个人非常推崇ReactiveCocoa,它就像中国的太极,太极生两仪,两仪生四象,四象生八卦,八卦生万物。ReactiveCocoa是一个高度抽象的编程框架,它真的很抽象,初看你不知道它是要干嘛的,等你用上了之后,就发现,有了它你是想干嘛就干嘛,编码从未如此流畅。在此我不会讲ReactiveCocoa的原理,因为不能讲明白的才叫抽象。我也不会提及相关概念。我只是让你看看我用着它是有多爽。代码的四十八手察值你别动,你一动我就知道。@weakify(self);?[RACObserve(self,?value)?subscribeNext:^(NSString*?x)?{?????@strongify(self);?????NSLog(@你动了);?}];?单边你唱歌,我就跳舞。textField的内容长度隐射成BOOL值,绑定到confirmButton的enable属性上面,当textField输入内容不为空的时候,confirmButton的enable = YES。RACSignal?*signalA?=?[RACSignal?createSignal:^RACDisposable?*(idRACSubscriber?subscriber)?{????????[subscriber?sendNext:@唱歌];????????[subscriber?sendCompleted];????????return?nil;????}];????RAC(self,?value)?=?[signalA?map:^id(NSString*?value)?{????????if?([value?isEqualToString:@唱歌])?{????????????return?@跳舞;????????}????????return?@;????}];?双边你向西,他就向东,他向左,你就向右。RACChannelTerminal?*channelA?=?RACChannelTo(self,?valueA);?RACChannelTerminal?*channelB?=?RACChannelTo(self,?valueB);?[[channelA?map:^id(NSString?*value)?{?????if?([value?isEqualToString:@西])?{???????????return?@东;???????}??????return?value;?}]?subscribe:channelB];?[[channelB?map:^id(NSString?*value)?{????if?([value?isEqualToString:@左])?{???????return?@右;???????}?????return?value;?}]?subscribe:channelA];?[[RACObserve(self,?valueA)?filter:^BOOL(id?value)?{?????????return?value???YES?:?NO;?}]?subscribeNext:^(NSString*?x)?{??????NSLog(@你向%@,?x);?}];?[[RACObserve(self,?valueB)?filter:^BOOL(id?value)?{?????return?value???YES?:?NO;?}]?subscribeNext:^(NSString*?x)?{?????NSLog(@他向%@,?x);?}];?self.valueA?=?@西;?self.valueB?=?@左;?2015-08-15?20:14:46.544?Test[2440:99901]?你向西???2015-08-15?20:14:46.544?Test[2440:99901]?他向东???2015-08-15?20:14:46.545?Test[2440:99901]?他向左???2015-08-15?20:14:46.545?Test[2440:99901]?你向右???代理你是程序员,你帮我写个app吧。@protocol?Programmer?NSObject?-?(void)makeAnApp;?@end?RACSignal?*ProgrammerSignal?=???[self?rac_signalForSelector:@selector(makeAnApp)????????????????fromProtocol:@protocol(Programmer)];?[ProgrammerSignal?subscribeNext:^(RACTuple*?x)

文档评论(0)

441113422 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档