IOS面试题object-c 131-135

131. 简述category如何被加载的?两个 category 的load方法的加载顺序?两个 category 的同名方法的加载顺序? ?
category的加载是在运行时发生的,加载过程是:把category的实例方法、属性、协议添加到类对象上,把category的类方法、属性、协议添加到metaclass上。

category的load方法执行顺序是根据类的编译顺序决定的,即:xcode中的Build Phases中的Compile Sources中的文件从上到下的顺序加载的。

category并不会替换掉同名的方法的,也就是说如果 category 和原来类都有 methodA,那么 category 附加完成之后,类的方法列表里会有两个 methodA,并且category添加的methodA会排在原有类的methodA的前面,因此如果存在category的同名方法,那么在调用的时候,则会先找到最后一个编译的 category 里的对应方法。
🚀🚀🚀🚀🚀🚀
132. 简述在方法调用的时候,方法查询-> 动态解析-> 消息转发 之前做了什么 ? ?
OC中的方法调用,编译后的代码最终都会转成objc_msgSend(id , S

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/751291.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【吊打面试官系列】Java虚拟机JVM篇 - 关于双亲委派模型

大家好,我是锋哥。今天分享关于JVM双亲委派模型的JVM面试题,希望对大家有帮助; 什么是双亲委派模型? 双亲委派模型针对的是 Java 虚拟机中三个类加载器的,这三个类加载器分别是: 启动类加载器(B…

基于深度学习的车辆检测技术

基于深度学习的车辆检测技术是现代智能交通系统的重要组成部分,它利用计算机视觉和机器学习算法,特别是深度学习模型,来识别和定位图像或视频中的车辆。这项技术广泛应用于自动驾驶、交通监控、违章抓拍等多个领域。 深度学习车辆检测技术的…

Nacos 如何实现配置文件动态更新的

Nacos采用的是一个长轮询的方式,向Nacos Server 端去发起配置更新查询的这样一个功能。长轮询:客户端发起一次轮询请求到服务端,当服务器端配置没有任何变更的时候,这个连接会一直打开,直到服务端有配置变更或者连接超…

node.js快速入门-day03

个人名片: 😊作者简介:一名大二在校生 🤡 个人主页:坠入暮云间x 🐼座右铭:给自己一个梦想,给世界一个惊喜。 🎅**学习目标: 坚持每一次的学习打卡 文章目录 web服务器创建…

力扣hot100:34. 在排序数组中查找元素的第一个和最后一个位置(二分查找的理解)

我们知道使用二分查找能找到值所在的位置。假如我们在找到值后仍然不断的更新指针会发生什么?我们可以利用这一点来找到最左边的以及最右边的值。 如果当nums[mid]target时,使得 rightmid-1,那么最终会使得target在right的右边。 如果当nums[…

海外媒体宣发套餐推广攻略实现品牌全球化-华媒舍

如今,在全球经济一体化的浪潮下,品牌全球化已成为企业成功的重要因素之一。海外市场作为一个巨大而具有潜力的机会,吸引着越来越多的企业前往探索。而在海外市场的推广过程中,海外媒体宣发套餐成为了重要的推广方式之一。本文将为…

Linux系统优化及性能调优

目录 一、基本优化 1. SELinux和防火墙优化 1.1 selinux概述 1.2 selinux三种工作模式 1.3 切换selinux模式 1.4 防火墙概述 1.5 firewalld管理工具 2. 自启动服务优化 2.1 Systemd 2.2 SysVinit 3. 禁用超级管理员 4. 普通用户提权 5. 使用国内yum源 5.1 配置阿…

量化交易入门(一)学习量化交易需要掌握哪些知识

学习量化(Quantitative Analysis),特别是在金融领域的量化分析或量化交易,需要掌握以下几个方面的知识: 数学和统计学:高等数学(微积分、线性代数等)、概率论与数理统计是量化分析的…

【S5PV210_视频编解码项目】裸机开发:实现按键的外部中断处理

加粗样式本文所作内容: 基于S5PV210芯片实现按键的外部中断处理程序,搭建中断处理流程框架 S5PV210对于中断处理的操作流程 1 外部中断得到触发: 1)外部中断在初始化阶段得到使能 2)外界达到了外部中断的触发条件 …

24考研数学最大教训❗️660/880过时了?

我没看错吧,说660题和880题过时了? 660题和880题好好用,这俩很经典不会过时。 660题是客观题训练必刷的一本题集,而880是强化阶段非常好的一本综合性题集。我本身在考研的时候使用的也是这两本题集,所以对这两本题集…

如何学习一个大型分布式Java项目

前言 很多同学在没有实习经验的时候看到一个多模块分布式项目总是有一种老虎吃天的无力感,就像我刚毕业去到公司接触项目的时候一样,模块多的夸张,想学都不知道从哪开始学,那么我们拿到一份代码后如何从头开始学习一个新项目呢。…

pyinstaller使用笔记

1. 简介 pyinstaller是一个第三方库,它能够在Windows、Linux、 Mac OS X 等操作系统下将 Python 源文件打包,通过对源文件打包, Python 程序可以在没有安装 Python 的环境中运行,也可以作为一个 独立文件方便传递和管理。 PyIns…

Oracle Primavera Analytics 是什么,与P6的关系?

前言 Oracle Primavera P6 Analytics 是与P6有关的一个相对较新的模块,Primavera 用户社区在很大程度上尚未对其进行探索。 那么它到底有什么作用呢? 通过了解得知它旨在通过深入了解组织的项目组合绩效,帮助高级管理层对其项目组合做出更好…

「Linux系列」Linux 系统目录结构/忘记密码解决方法

文章目录 一、Linux 系统目录结构Linux系统目录结构的概念案例 二、Linux 忘记密码解决方法方法一:使用root用户重置密码方法二:使用单用户模式重置密码方法三:使用恢复模式或救援模式案例:使用CentOS的救援模式重置密码 三、相关…

PE文件格式知识点汇总

简单概述:可执行文件之所以被操作系统加载且运行,是因为它们遵循相同的规范,而这个规范正是PE文件格式所确定。 1、PE文件格式的定义 PE文件格式:PE(Portable Executable)是win32平台下可执行文件遵守的数…

Python进阶学习(6)异常

文章目录 异常1.异常的定义2.异常错误3.异常处理(捕捉异常)4.assert断言5. 定义异常 异常 1.异常的定义 什么是异常:报错 也可以去链接资源访问某个网站时,中断程序,也叫异常 捕捉异常:因为我们在程序编…

MySQL | 库的操作 | 表的操作

目录 1. 库的操作 1.1. 创建数据库 1.2. 字符集和校验规则 1.2.1. 查看系统默认字符集以及校验规则 1.2.2. 查看数据库支持的字符集 1.2.3. 查看数据库支持的字符校验规则 2. 操作数据库 2.1. 查看数据库 2.2. 显示创建语句 2.3. 修改数据库 2.4. 数据库的删除 2.4.…

维基百科推广秘诀13个方法助你成为行业领导者-华媒舍

维基百科(Wikipedia)作为全球最大、最权威的在线百科全书,拥有海量的知识内容,被广大用户广泛使用。对于任何一个领域的从业者来说,建立自己的维基百科页面,无疑是提升行业影响力的重要手段。本文将向您介绍…

Linux学习(4)——使用编辑器

1.gedit编辑器 简单易懂,依赖图形界面。可以使用ctrlc ctrlv等快捷键,ctrls进行保存,与windows系统中相类似。 2.vi/vim编辑器 vi/vim可以直接通过控制台的终端完成文本的编辑,不依赖图形界面,使用范围更广。它的编辑…

DataX-数据迁移Oracle到Mysql-ETL工具

一、安装 https://github.com/WeiYe-Jing/datax-web/blob/master/doc/datax-web/datax-web-deploy.md 1、直接下载DataX工具包:DataX下载地址 下载后解压至本地某个目录,进入bin目录,即可运行同步作业: $ cd {YOUR_DATAX_HOME}/…