iOS 的动态性

作者: iOS猿_员 | 来源:发表于2019-01-27 16:07 被阅读51次

原文:iOS面试题大全

iOS 的动态性来自三个方面:动态类型、动态绑定、动态载入、SEL
类型
①、动态类型<弱类型>(id):在代码的运行阶段判断代码的类型,
使用 id 类型可以让应用在“运行时”使用任何类型来替换。动态类
型让程序更加灵活,但是会使数据的统一性降低和代码的可读性。我
们常用静态类型<强类型>(如 NSString) ,使用静态类型编译器可以完
全分析你的代码,这让代码的性能和可预知性更高。

②、动态绑定:让代码在运行时判断需要调用什么方法,而不是在编
译时。 动态类型和动态绑定使得选择哪个接收者已经调用什么方法
都放到运行时去完成。

③、动态载入:应用程序可以根据需要加载可执行代码以及资源,而
不是在启动时就加载所有资源。

④、SEL 类型 iOS 在编译的时候会根据方法的名字(包括参数序列),
生成一个用来区分这个方法的唯一的 ID,这个 ID 是 SEL 类型的,SEL
的本质就是类方法的编号[函数地址]。 (类似 C 语言里面的函数指针,
但是 OC 的类不能直接使用函数指针,这样只能做一个@selector 语
法来取。注意:@selector 是查找当前类(含子类)的方法。)

相关文章

  • iOS 的动态性

    原文:iOS面试题大全 iOS 的动态性来自三个方面:动态类型、动态绑定、动态载入、SEL类型①、动态类型<弱类型...

  • iOS 的动态化

    iOS的动态性来自三个方面:动态类型、动态绑定、动态载入、SEL类型 动态类型Dynamic typing-det...

  • iOS的动态性

    1、iOS的动态性来自三个方面:动态类型、动态绑定、动态载入、SEL类型 1、动态类型<弱类型>(id):在代码的...

  • iOS 动态属性 id 分析

    iOS的动态性中有一个很重要的属性就是id的动态性 id:一种动态属性,在编译过程中可以根据上下文,灵活的判定对象...

  • ios Runtime动态性分析

    Swift Runtime动态性分析 总结 纯Swift类没有动态性,但在方法、属性前添加dynamic修饰可以获...

  • iOS动态调用类方法

    iOS动态调用类方法(不带参数) iOS动态调用类方法(带参数) iOS动态调用类方法(有返回值) 优点 弱化连接...

  • WWDC2014之iOS使用动态库

    WWDC2014之iOS使用动态库 WWDC2014之iOS使用动态库

  • iOS一种动态栅格布局方案

    iOS一种动态栅格布局方案 iOS一种动态栅格布局方案

  • iOS---10--- _read_images 浅析 类的加载

    [toc] 前言 在iOS程序中会用到很多系统的动态库,这些动态库都是动态加载的。所有iOS程序共用一套系统动态库...

  • 10--- _read_images 浅析 类的加载

    [toc] 前言 在iOS程序中会用到很多系统的动态库,这些动态库都是动态加载的。所有iOS程序共用一套系统动态库...

网友评论

    本文标题:iOS 的动态性

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