AppleID账号停用复盘 公司账号下个月续费,想看下具体几号,登录主账号发现正确的账号密码提示账号密码错误,在重置密码的过程中发现提示AppleID已停用,网上查询大多是处...
AppleID账号停用复盘 公司账号下个月续费,想看下具体几号,登录主账号发现正确的账号密码提示账号密码错误,在重置密码的过程中发现提示AppleID已停用,网上查询大多是处...
Xcode自动打包上传脚本 之前因为项目比较小,也不经常发版,所以一直都是手动打包上传。最近由于懒的打包的时候一直盯着点东西,再加上上传时Xcode比较卡,耽误摸鱼,所以就打...
第十四节课 类的加载原理(上) 上一篇文章我们了解了一下应用程序的加载,我们通过逐步推断,了解了dyld的大致流程,dyld是如何一步步的加载我们的库,与镜像文件的。而这片...
第十三节课 底层原理自测(一) 一、选择题1.在LP64下,一个指针有多少个字节 (B)A.4B.8C.16D.64解析:1个指针8字节 2.一个实例对象的内存结构存在哪些...
第十二节课 应用程序加载 应用程序的加载原理 首先,我们每次Xcode跑程序的时候不知道大家有没有好奇它这个启动流程到底是什么样子的? 编译过程: ! 源文件:载入.h、.m...
第十一节课 消息转发 instrumentObjcMessageSends辅助分析方法的介绍 作用:打印出指定区域内调用的所有的方法、并往指定路径下生成文件 使用方式: 查看...
第十节课 消息动态决议 在经过我们的快速与慢速查找之后依旧没有找到的怎么办呢?cache_getImp的父类查找流程中LGETImpMissDynamic返回为空的情况下,并...
第九节课 消息慢速查找 上篇文章我们分析了快速查找流程,并绘制了流程图,结尾处,当快速查找结束并没有找到想要的,这个时候我们就来到了慢速查找流程了。我们先来简单回顾下,然后再...
第八节课 消息流程分析之快速查找(下) 上篇文章我们通过源码查看了方法底层调用的逻辑,但是只分析到了objc_msgSend的主体逻辑,并没有深入了解,那么这篇文章我们就继续...
第七节课 消息流程分析之快速查找(上) 在上篇文章我们分析了cache的insert流程,但是在insert之前呢?还有一个cache读取流程,即objc_msgSend 和...
第六节课 Cache分析 在之前的文章里面,我们通过分析cache的内存大小来取得bits的地址,但是我们还不知道cache里的内部结构,这篇文章我们就来重点研究下cache...
第五节课 类的原理分析(下) 成员变量和属性以及编码 成员变量VS实例变量VS属性变量 成员变量是定义在{}号中的变量,如果变量的数据类型是一个类则称这个变量为实例变量,因为...
第四节课 类的原理分析(上) isa分析到元类 我们通过 指令可以验证下,看到打印出的地址与我们拿到的地址一模一样。 接下来我们x/4gx 0x000000010292f48...
第三节课 OC对象原理(下) 全篇开始之前我们想一个问题,研究了这么久对象,究竟什么是对象呢?? 对象本质以及拓展 Clang 探索对象的本质前,我们先了解一个编译器:cla...
第二节课 OC对象原理(中) 底层LLVM优化 上篇文章我们说到,实际代码查看的流程是 alloc->_objc_rootAlloc->callAlloc->_objc_ro...
第一节课 OC对象原理(上) 其实我们最开始学习iOS都应该是从创建对象开始的吧?还记得当初教我的老师开玩笑的说到,以后没对象就自己创建一个,要多少有多少~虽然我们一直在使用...
第九节课:闭包(二) 闭包补充 上节课我们看了捕获一个变量的内存结构,如果捕获的是两个变量的值,当前内存结构是什么玩意? 查看其IR代码 返回值仍然是void* ,swift...
第八节课:闭包(一) 1.什么是闭包? 闭包是一个捕获了上下文常量或者是变量的函数。 上面的函数是一个全局函数,也是一种特殊的闭包,只不过当前的全局函数并不捕获值。 2.下面...