标签:
ReactiveCocoa试图解决以下3个问题:
iOS开发中,每一行代码几乎都是在相应某个事件,例如按钮的点击,收到网络消息,属性的变化(通过KVO)或者用户位置的变化(通过 CoreLocation)。但是这些事件都用不同的方式来处理,比如包括KVO、Notification、delegation、block以及target-action方式。。ReactiveCocoa为事件定义了一个标准接口,从而可以使用一些基本工具来更容易的连接、过滤和组合。使得以上各种消息传递机制都可以用RAC来完成
由于Objective-C语言的内存管理是基于引用计数 的,为了避免循环引用问题,在block中如果要引用self,需要使用@weakify(self)
和@strongify(self)
来避免强引用。另外,在使用时应该注意block的嵌套层数,不恰当的滥用多层嵌套block可能给程序的可维护性带来灾难。
参考资料:
http://www.cocoachina.com/ios/20150123/10994.html
http://www.devtang.com/blog/2014/02/11/reactivecocoa-introduction/
标签:
原文地址:http://www.cnblogs.com/canghaixiaoyuer/p/4687886.html