版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1337950
block和代理都可以用来传值,由于代理的代码量较大,写起来麻烦,所以现在大部分人会选择使用block来进行传值。这样显得代理好像没用了。实际代理的作用还是很大的,如果我们是在对控件进行封装这时就需要使用代理,因为代理更具有扩展性,可以在我们需要增加方法的时候轻松实现。
总之用block传值简单方便,用代理更具有扩展性。
18.1.25 更新:
看到网上有一种说法:如果回调方法少于3个使用block,反之使用代理。 block容易造成循环引用,从而导致内存泄漏(使用__weak避免循环引用)。