- 动态类型
Dynamic typing-determining the class of an object at runtime 运行时决定对象类型; - 动态绑定
Dynamic binging-determining the method to invoke at runtime 运行时决定方法调用; - 动态加载
Dynamic loading-adding new modules to a program at runtime 运行时加载新模块
详细理解 Objective-C 的3个动态特性
- 动态类型
简单点说就是 id 类型,可以理解为通用对象类型,一旦被赋值,可以被强制转化为其他类型。可以通过[obj isKindOfClass:aClass],来判断其具体类型,做相应操作,在委托(delegate)中体现的比较充分; - 动态绑定
基于动态类型的,某个实例被确定后,其类型也是确定的,其对应的属性和方法将会因为类型的确定而确定,这就是动态绑定; - 动态加载
程序启动时动态加载可执行代码和资源. 如多国家语言的程序,会在程序启动时只加载设定为某一种语言的资源,而不是全部资源. 基于Utility Application 的程序,分别在 iPhone 和 iPad 上运行的时候,只会加载对应的代码和资源,当然兼容视网膜技术的@2x图片加载也是这样的;
网友评论