函数调用 Objective-C是一门动态语言,一个函数是由一个selector(SEL),和一个implement(IML)组成的.Selector相当于门牌号,而Implement才是真正的住户(函数实现). 和现实生活一样,门牌可以随便发(@selector(XXX)),但是不一定都找得到住户,如果找不到系统会给程序几次机会来程序正常运行,实在没出路了才会抛出异常.下图是objc_msgSend调用时,查找SEL的IML的过程.咱们以这个流程为例看看其中涉及的很有用的函数. 图:运行时查找…