欢迎来到天天文库
浏览记录
ID:37712596
大小:27.50 KB
页数:8页
时间:2019-05-29
《ReactiveCocoa 用 RACSignal 替代 Delegate》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、开篇扯淡最近又在看ReactiveCocoa了(下面用RAC来替代ReactiveCocoa)。虽然依然是helloworld级别。但是helloworld也是可以分级别的。这次自我感觉是一个偏向中级的helloworld。我们先来张图:在RAC的文档和一些介绍RAC的Keynote资料里面我们可以看到说RACSignal可以来替代Delegate、BlockCallbacks、TargetAction、KVO、Notifications。但是貌似没有一种helloworld的方式来进行说明如何替代的。插嘴:在中文blog里面见过几个写RA
2、C的比较好哒。一个是limboy大大的几篇深入浅出令人叹为观止,李忠大大不但研究透彻了然后还结合自己的实战经验写成很好的文章来分享。另一个是sunnyxx的ReactiveCocoaTutorial系列这个系列比较偏向研究RAC开篇扯淡最近又在看ReactiveCocoa了(下面用RAC来替代ReactiveCocoa)。虽然依然是helloworld级别。但是helloworld也是可以分级别的。这次自我感觉是一个偏向中级的helloworld。我们先来张图:在RAC的文档和一些介绍RAC的Keynote资料里面我们可以看到说RACSig
3、nal可以来替代Delegate、BlockCallbacks、TargetAction、KVO、Notifications。但是貌似没有一种helloworld的方式来进行说明如何替代的。插嘴:在中文blog里面见过几个写RAC的比较好哒。一个是limboy大大的几篇深入浅出令人叹为观止,李忠大大不但研究透彻了然后还结合自己的实战经验写成很好的文章来分享。另一个是sunnyxx的ReactiveCocoaTutorial系列这个系列比较偏向研究RAC是如何实现和工作的。我这个人比较笨,最喜欢写helloworld。那就找时间一个一个来写呗
4、。写之前Google了一下。所以以下内容大量参考:ReplacingtheObjective-C“DelegatePattern”withReactiveCocoa。能看原文就去看看。然后忽略掉以下的helloworld就好了。实现功能说明本来想改成TableView的。改着改着感觉TableView的话。可能会牵扯到MVVM的问题。才能架构出来一个正确的程序结构。而我只想说明简单的写清楚如何替代Delegate。所以相当于一个中文简化版本的ReplacingtheObjective-C“DelegatePattern”withReacti
5、veCocoa了。那就跟他一样写搜索把。然后实现过程中发现iOS8用新的UISearchController来替代了UISearchDisplayController了。UISearchControllerDelegate常规实现一般来说我们会设置protocol.self.searchController.searchResultsUpdater=self;self.searchController.delegate=self;然后去委托的类里面实现相关的方法#pragmamark-UISearchResultsUpdating-(voi
6、d)updateSearchResultsForSearchController:(UISearchController*)searchController{if(searchController.searchBar.text.length>0){self.searchResults=[selfsearch:searchController.searchBar.text];}else{self.searchResults=self.searchTexts;}[self.tableViewreloadData];}#pragmamark-UI
7、SearchControllerDelegate-(void)willPresentSearchController:(UISearchController*)searchController{self.searching=YES;}-(void)willDismissSearchController:(UISearchController*)searchController{self.searching=NO;[self.tableViewreloadData];}普通情况下我们就是这样来使用Delegate的。平淡无奇。下面我们来用RA
8、CSignal的实现方法。UISearchControllerDelegateRACSignal实现第一个要明确的是:我们要做什么。常规模式根据常规代码来看:我们需要在每次输入词
此文档下载收益归作者所有