一、调用方式 1、load是根据函数地址直接调用。(不会走消息查找流程,直接找到函数地址调用) 2、initialize是通过 objc_msgSend调用。(会遵循消息查找...
一、调用方式 1、load是根据函数地址直接调用。(不会走消息查找流程,直接找到函数地址调用) 2、initialize是通过 objc_msgSend调用。(会遵循消息查找...
一、matrix介绍 Matrix 是一款微信研发并日常使用的应用性能接入框架,支持iOS, macOS和Android。 Matrix 通过接入各种性能监控方案,对性能监控...
一、OC调用swift文件 这里创建一个名为Test的OC项目 在OC项目中创建一个swift文件Person.swift,会提示是否创建桥接文件。这个桥接文件是用于swif...
文章中的内容已全部更新至Swift5! Swift是一门新的语言,不过现在已经出到Swift5了,今天不介绍这些。很多人想学Swift,不知从何开始,今天我就简单说下入门知识...
为什么要使用组件化 1.当工程项目很大的时候,我们往往只关心自己写的代码,而却要编译整个工程文件,导致效率低下.2.当我的大工程项目采用MVVM架构模式的时候,我自己的业务比...
谈谈你对block的理解 1、本质、原理:block俗称代码块,本质上也是一个对象。它将代码块中需要执行的代码封装成一个函数,并且在自己的结构体内,存有这个函数地址,当需要执...
谈谈你对分类Category的理解 使用场景:可以减少单个文件体积;可以按照功能分组,放到不同的分类里,使结构更清晰;降低耦合性,一个类可以有多个开发人员进行开发;模拟多继承...
说说你对runloop的理解 先按字面意思理解,所谓runloop 就是运行循环,事实也确实如此,runloop真的就是写了个while循环,在while循环中,休眠等待消息...
消息发送机制。 OC里的方法调用,其实本质上都是消息发送objc_msgSend。 消息发送会有三个阶段:1、消息发送 2、动态方法解析 3、消息转发 先看下class的结构...
聊聊KVO、KVC(仅用作自己复习记录不喜勿喷) KVC:Key Value Coding 键值编码 KVO:Key Value Observer 键值监听 可以先从KVO开...
OC题目自答 1、请讲讲对像的本质、内存管理机制。 答: 内存大小: 系统为NSObject对象分配了1 6个字节(通过malloc_size获得的),但是NSObject对...