美文网首页
关于oc动态运行时

关于oc动态运行时

作者: b6732342bd5f | 来源:发表于2017-11-02 15:17 被阅读0次

本来题目写的是iOS的动态运行时,但是想了一下不严谨,所以就改成oc动态运行时;

oc的这种动态运行时的特性,就是对象的类型要在运行的时候才被确定,而不是像大部分脚本语言,在编译的时候就会确定;oc的动态特性主要体现在三个方面动态类型,动态绑定,和动态加载;

动态类型指的是对象指针类型的动态性,具体是指使用id任意类型将对象的类型确定推迟到运行时,由赋给它的对象类型决定对象指针的类型。另外类型确定推迟到运行时之后,可以通过NSObject的isKindOfClass方法动态判断对象最后的类型(动态类型识别)。也就是说id修饰的对象为动态类型对象,其他在编译器指明类型的为静态类型对象,通常如果不需要涉及到多态的话还是要尽量使用静态类型;

动态绑定指的是方法确定的动态性,具体指的是利用OC的消息传递机制将要执行的方法的确定推迟到运行时,可以动态添加方法。也就是说,一个OC对象是否调用某个方法不是由编译器决定的,而是由运行时决定的;

动态加载主要包括两个方面,一个是动态资源加载,一个是一些可执行代码模块的加载,这些资源在运行时根据需要动态的选择性的加入到程序中,是一种代码和资源的‘懒加载’模式,可以降低内存需求,提高整个程序的性能,另外也大大提高了可扩展性。

相关文章

  • iOS笔试面试题(5)--OC语法

    运行时(runtime)是OC在运行时的一些机制和特性,包括动态类型,动态绑定,动态加载。运行时系统指的是实现OC...

  • OC动态性 的体现 及消息传递与转发机制

    OC动态性 oc的动态性主要体现三个方面 动态类型:运行时确定对象的类型 动态绑定:运行时确定对象的调用方法 动态...

  • 2019基础复习

    1、我们说的Objective-C是动态运行时语言是什么意思?答:OC的动态运行时,是指OC具有动态类型和动态绑定...

  • 关于oc动态运行时

    本来题目写的是iOS的动态运行时,但是想了一下不严谨,所以就改成oc动态运行时; oc的这种动态运行时的特性,就是...

  • 13.OC和Swift混编

    OC 和 Swift 运行时简介 Objective-C 运行时 动态类型(dynamic typing) 动态绑...

  • 【2018最新】iOS面试题(一)

    1.为什么OC是一门动态语言? 动态类型:OC在运行时决定对象的类型,比如id; 动态绑定:程序在运行时判断需要调...

  • 说一说基类 NSObject(一)

    OC是一门动态语言,运行时系统实现了OC的动态性。运行时系统提供了很多方法,但是我们不能直接使用,我们常用的运行时...

  • 2017-12-18

    今天要分别写2篇关于OC运行时 OC Runtime: 运行时

  • Objective-C Runtime

    描述macOS OC运行时库支持的函数和数据结构. 通览 OC运行时是一个运行时库,该库用来支持OC语言的动态属性...

  • Runtime

    什么是运行时 运行时是OC动态性得以实现的一个机制,OC以一个动态语言,把静态语言编译和链接的事情放到了运行时来处...

网友评论

      本文标题:关于oc动态运行时

      本文链接:https://www.haomeiwen.com/subject/ppegpxtx.html