说到oc的动态特性尝尝会牵扯到objc 的动态运行时(runtime),在日常的iOS开发中很少和深层次runtime打交道,除非你是个越狱开发者。在一些特定情况下为了完成一些特定功能(如绕过appStore更新app功能)就完全需要了解或者说深入研究一下Objective-C的runtime特性了。
iOS和C语言中关于对象,消息,方法,函数的称谓或有歧义,本文采用如下称谓:
消息:Message
对象:Object
方法;Method
函数:Function
类: Class
##The Runtime
Objective-C是一门非常简单的语言,它95%都是C,只是在C语言上添加了一些关键词和语法(其实C语言真的很复杂). 除了C语言的一些特性,Objective-C的真正灵魂在于它的runtime,而runtime的核心在于message sending,下面慢慢道来。