IOS编程思想

时间:2022-02-19 19:16:53

从今天起想走进IOS架构的大门,一直不屑于学习第三方框架,觉得框架也是一点点代码给垒起来的,只要掌握了代码就可以了,殊不知垒代码的过程才是最重要的,而这个过程又岂是一朝一夕就能达到完美境界的,达到完美没有捷径,但是学习第三方框架无疑会让自己以更少的时间达到目的。

所以学习好的框架绝对是成功路上的铺路石。

今天稍微理解了下IOS的编程思想,在这里做个笔记先,以后的练习才是王道:

1. 链式编程思想:
就像管道,上一步的输出作为下一步的输入,也就是前一步的返回值作为后一步的调用对象,这样可以让所有的调用都通过.连在一起;避免了多行的冗余代码。
eg: view.setFrame(0,0,50,50).setBackgroundColor( @"#0c0c0c".toColor() );

因为oc只有属性才可以使用.方法,所以只能把setFrame和setBackgroundColor定义成属性,可以带参数的属性就时block,所以操作方法就时在UIView的扩展里定义这两个block属性,block使用copy属性修饰。

eg: Masonry框架

2. 函数式编程思想:
函数或方法的嵌套调用,跟链式编程的区别在于,链式编程是对属性block的操作,函数式编程是对以block或函数作为参数,并返回对象的一系列函数的操作。
eg: Masonry框架

3. 响应式编程:
无调用顺序,一件事件完成,其他很多事情都自动实现。
eg: ReactiveCocoa框架 结合了函数式编程和响应式编程