相信用过masonry的童鞋,一定被它的魅力折服,真的很好用啊。masnory是用链式编程的思想来写的,用起来一个个block用点连接起来,即省代码又美观,巴特,链式编程是怎么样实现的嘞。。。不用着急,且往下看。
讲链式编程,不得不讲oc中的点语法,.XX是getter,.XX = XXX;是setter,显然链式编程是一串的,所以我们应该想到讲block声明为属性,并且在这些block属性的getter方法中做一些事情。哈哈,是不是简单易懂,巴特,如何去具体的实现链式编程呢,别急,这儿有我写的一个小demo,看了希望你对链式编程能理解。
一、常规写法
我们一般写方法函数的时候是通过以下方式写的
@interface ChainViewController()
-(void)eat;
-(void)like;
@end
-(void)eat{
nslog(@"----eat");
}
-(void)like{
nslog(@"like");
}
二、两个方法通过[]来进行连续调用
要做到连续调用,则两方法就必须有返回值,且返回值是当前类的本身,这样才可在调用一个方法后,调用另外一个方法,下面来看下
@interface ChainViewController()
-(ChainViewController*)eat;
-(ChainViewController*)like;
@end
实现方法:
-(ChainViewController*)eat{
nslog(@"eat");
return self;
}
-