在开发过程中,block,无论是传值还是自定义方法里都是使用频率最高的,苹果也建议大量的使用block.因为block代码相对集中,可读性强,便于管理
相反,
- 用的多的东西,问题也就自然的多,而这些问题则需要我们开发者在实践过程中去探索和发现.
- 记录这个问题,以防重复陷入此坑
上图先:
可以看出下面这两个block,类型是一样的,只是参数不一样
在不同的自定义View里typedef定义的block 而且block名字不同 参数列表也不同 返回值都为空 这会造成重复定义的问题吗?
遇到问题 , 那肯定得解决问题啊 于是开始各处搜罗资料,各种问技术群里的大牛,多半是没有回复,或者给了个大概的方向,我很感谢他们没有直接把答案灌输给我.
正确姿势:
其实很简单,我在调用的那个控制器里的头文件对应的这两个block,只要把它们分开就好了,一个在.h,一个在.m,一编译结果正常了....要问我具体原因,根据我目前所掌握的知识也说不清楚,可能关系到底层头文件的引用.这与block并没有半毛钱关系. 这标题可能不太恰当,但是我遇到这个问题的时候,第一想到的就是这个标题的内容,所以就想搜索这方面的资料来看,为了以后再有陷入此坑者提供一个解决方案,埋个伏笔!