首页 > 其他分享 >iOS:为什么OC 是动态语言?

iOS:为什么OC 是动态语言?

时间:2023-04-21 13:57:27浏览次数:31  
标签:OC 绑定 iOS 类型 动态 加载

  1. 动态类型
  2. 动态绑定
  3. 动态加载

动态类型:即运行时再决定对象的类型。编译阶段,任何对象都可以指定为 id 类型,等到运行时,才知道具体的类型。

动态绑定:基于动态类型,即某个对象在确定后,其属性和响应消息也被完全确定。

动态加载:1.动态加载资源,2可以动态添加类,方法等

标签:OC,绑定,iOS,类型,动态,加载
From: https://www.cnblogs.com/dulinshun/p/ios-wei-shen-meoc-shi-dong-tai-yu-yan.html

相关文章

  • iOS:线程锁
    1.什么是线程锁线程锁主要是用来控制多个线程同时访问和修改,避免造成不可预期的问题。2.自旋锁和互斥锁自旋锁:一种用来保护多线程共享资源的锁,与互斥锁不同的是,当自旋锁尝试获取锁是否可用时,以忙等待进行循环检查锁是否可用。当上一个线程没有执行完毕时,下一个线程一直处于......
  • iOS:常用的正则表达式
    转载自Swift正则表达式-简书(jianshu.com)数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?......
  • iOS:use_frameworks 的作用
    Swift项目中的Podfile中默认会有一个use_frameworks!,本篇说一下use_frameworks!。1.Pod引入组件的类型iOS使用Pod引入组件,主要引入以下类型的组件。类型1:静态库类型组件。可以为`.a`或`.framework`类型的静态库。类型2:动态库类型组件。可以为`.framework`类......
  • iOS:响应链的原理
    iOS中不是所有的对象都能响应的,只有继承UIResponder的对象才能进行响应处理事件,称之为响应者对象。常见的响应者对象有:UIView,UIViewController,UIApplication响应链的流程:1.当产生某一个触摸事件的时候,这个触摸事件回添加到UIApplication管理的事件队列中。2.UIAppli......
  • iOS:字典存储数据的原理
    注:适用于Java等其他语言的技术原理存储的逻辑1.字典底层有一个数组,靠数组来存储数据;2.将key进行hash算法。得到`hash值`;3.将`hash值`与`数组的长度`进行`位与运算`,得到的结果为数据应该存储的位置;4.找到数组对应的位置,然后设置对应的数据(此处使用链表①进行......
  • iOS:AutoReleasePool
    具体参考文章AutoRelease是依靠AutoreleasePoolPage来进行push和pop进行工作的AutoreleasePoolPage为双向链表,parent字段指向上一层,child指向下一层每个AutoreleasePoolPage的大小为4096字节每个AutoreleasePoolPage最多可以存放505个对象。首个page可以......
  • iOS:runloop 相关
    一个Runloop包含了多个mode一个mode包含了若干个source0/source1/time/observerRunloop启动时只能选择其中一个model作为当前modelRunloop常用的Model1.UIInitializationRunLoopMode:首次启动时执行的mode,启动后不再使用2.kRunloopDefaultMode:默认mode,一般主......
  • 使用Docker部署wikitten个人知识库
    (使用Docker部署wikitten个人知识库)一、wikitten介绍1.wikitten简介Wikitten是一款开源Wiki知识管理系统,使用PHP开发,支持Markdown语法,无需数据库,自动生成树形目录,适合用来做个人Wiki知识库。2.wikitten特点Wikitten是一个小巧、快速的PHPwiki。Wikitten是存储您的笔记......
  • 【深度思考】聊聊CGLIB动态代理原理
    1.简介CGLIB的全称是:CodeGenerationLibrary。CGLIB是一个强大的、高性能、高质量的代码生成类库,它可以在运行期扩展Java类与实现Java接口,底层使用的是字节码处理框架ASM。Github地址:https://github.com/cglib/cglib。CGLIB的Maven坐标如下所示:<dependency><groupId>......
  • 操作系统实验 & bochs 环境配置
    wsl2-Ubuntu22.04+VSCode+bochs+xfce4+VcXsrv笔者环境wsl2-Ubuntu22.040.安装WSL2&VSCode网上教程千千万,请自行查找WSL2:WSL2安装教程_pengege666的博客-CSDN博客​ 切换清华源:ubuntu|镜像站使用帮助|清华大学开源软件镜像站|TsinghuaOpenSourc......