今天开始一段新的学习旅程---- 翻译Swift英文技术文档,目的主要是为了学习英语,顺带学习技术,翻译不是逐字翻译,而是基于内容翻译,原则是把里面涉及到的关键点讲清楚;Le...
今天开始一段新的学习旅程---- 翻译Swift英文技术文档,目的主要是为了学习英语,顺带学习技术,翻译不是逐字翻译,而是基于内容翻译,原则是把里面涉及到的关键点讲清楚;Le...
enum 中的RawRepresentable RawRepresentable是一个协议,包含关联类型RawValue RawValue相当于一个范型,遵循这个协议相当于该...
可以的 挺透彻 深入思考了
08--内存管理--一个对象什么时候加入自动释放池?一个对象什么时候加入自动释放池? 误解一:ARC下的所有对象都会加入自动释放池? 自动释放池没有那么闲,苹果也没那么傻,一个没用的临时对象加到自动释放池有啥用? 误解二:@a...
我们会借助一些崩溃日志收集库来定位和排查线上的崩溃信息,但是有些崩溃堆栈所提供的信息有限又不是必现崩溃,很难直观排查出问题的所在。这里我给大家分享一个采用寄存器赋值追踪的技术...
众里寻他千百度,蓦然回首,那人却在灯火阑珊处。--《青玉案·元夕》 要学会看crash崩溃和报告 一个应用程序并不总会一直运行的很好,它总会有出现crash崩溃的情况。如果在...
沙盒中的路径是会变的,只有通过苹果提供的API方法获得的路径才是正确的。比如NSCachesDirectory获得缓存的路径第一次是/var/xxx/ABCD/Caches。...
一. 前言 最近被指派去解决一些线上的崩溃问题,经常遇到野指针导致的崩溃。相对于其他的原因引起的崩溃来说,野指针导致崩溃是最难定位的,这里主要总结了两种思路来定位野指针导致的...
ARM处理器的指令集可以分为跳转指令、数据处理指令、程序状态寄存器(PSR)处理指令、加载/存储指令、协处理器指令和异常产生指令6大指令。 本文只列举一些常见的基本指令,可以...
局部释放池 创建一个新的自动释放池的方法:ARC下: 这相当于MRC下: 其中对象s会被加入到自动释放池,当ARC下代码执行到右大括号时(相当于MRC执行代码[pool dr...
fishhook是Facebook提供的一个动态修改链接mach-O文件的工具。利用MachO文件加载原理,通过修改懒加载和非懒加载两个表的指针达到C函数HOOK的目的。 前...
相信大家在学习C语言的时候,malloc是最早遇到的几个方法之一,这里就来深入的了解下,macOS/iOS中用户空间的内存分配。 引言 首先,我们来看几个有意思的例子,以下几...
这段时间在做一个组件开发,要实现JS那边动态调用一个含有block参数的OC方法,接触到了libffi,主要涉及使用libffi 动态调用和定义C函数两个方面,下面是使用之后...
macOS 10.15 Catalina 安装 app 提示已损坏,无法打开的解决方法[https://www.jianshu.com/p/1f91d40b491b] 在ca...
Clang 之旅系列文章:Clang 之旅--使用 Xcode 开发 Clang 插件Clang 之旅--[翻译]添加自定义的 attributeClang 之旅--实现一个...