阅读 181

笔记

笔记

Variadic Parameters

func arithmeticMean(_ numbers: Double...) -> Double {
    var total: Double = 0
    for number in numbers {
        total += number
    }
    return total / Double(numbers.count)
}
arithmeticMean(1, 2, 3, 4, 5)
// returns 3.0, which is the arithmetic mean of these five numbers
arithmeticMean(3, 8.25, 18.75)
// returns 10.0, which is the arithmetic mean of these three numbers
复制代码

断言

(lldb) expression -- self.view.backgroundColor = [UIColor redColor]

thread return可以接受一个表达式,调用命令之后直接从当前的frame返回表达式的值。 thread return [] (lldb) thread return NO

有时候我们想要了解线程堆栈信息,可以使用thread backtrace 或 bt thread backtrace [-c ][-s <frame-index>] [-e ] (lldb) bt

Self和self的区别

.self可以用在类型后面取得类型本身,也可以用在实例后面取得这个实例本身 1.Self可以用于协议(protocol)中限制相关的类型 2.Self可以用于类(Class)中来充当方法的返回值类型 swift 中 Self 与self

swift

Swift: memory leak gotcha with weak self

swift 中的 AnyObject 和 Any

接口和类方法中的 SELF

RxSwift原理

关于 Swift 4 中内存安全访问

RxSwift异步事件追踪定位工具的研发历程

理解rxjs中的flatMap, flatMapLatest

Swift Intermediate Language 初探

面向协议,避免类成为扩展的垃圾场

Swift - Any、AnyObject、AnyClass详细区别

Swift枚举本质

编译

深入浅出iOS编译

深入剖析 iOS 编译 Clang / LLVM

Swift语言性能分析

深入理解 Swift 派发机制

真实案例引发的iOS底层实现窥探

Thunk程序的实现原理以及在iOS中的应用

源码

GCD源码解析

iOS开发同学的arm64汇编入门

Objective-C中block的底层原理

iOS Block用法和实现原理

RunLoop原理、线程通信

黑幕背后的Autorelease

对象的引用计数存储在哪里

iOS 底层解析weak的实现原理

autoreleasepool源码分析,并与runloop的关系

性能

即刻Swift静态库实践

Rickey 的笔记

iOS Memory 内存详解

Xcode中和symbols有关的几个设置

美人相机启动优化

iOS Dynamic Framework 对App启动时间影响实测

iOS启动时间优化

深入理解iOS App的启动过程

iOS微信内存监控

静态库文件.a就是一组.o文件(可执行文件,汇编代码及其可直接执行)的ar包,可以用ar -t查看.a包含的所有.o。.o不能反编译为高级语言。

动态库依赖静态库

如何对 iOS 启动阶段耗时进行分析

抖音研发实践:基于二进制文件重排的解决方案 APP启动速度提升超15%

手淘架构组最新实践 | iOS基于静态库插桩的⼆进制重排启动优化

高德APP启动耗时剖析与优化实践

iOS App启动时间优化 二进制重排和PGO

Improving App Performance with Order Files

OSAtomicEnqueue

iOS调优 | 深入理解Link Map File

静态拦截iOS对象方法调用的简易实现 汇编学习

为什么 Debug Information Format 改为 DWARF 可以提高编译速度?

有赞iOS-基于二进制的编译提效策略

京东app安装包瘦身

other

iOS用户行为追踪——无侵入埋点

跳出面向对象思想(一) 继承

CocoaPods建立私有仓库 spec repo

开发小知识

Core Image & CIFilter cocoapods升降级

iOS 如何调试第三方统计到的崩溃报告

iOS 图片压缩方法

Universal Link

rebase

Lightweight API design in Swift

博客

微信,QQ这类IM app怎么做——谈谈Websocket

一个分析三方博客

一瓜 iOS 面试小册

UI

如何构建具有多种 Cell 类型的表视图

Animate TableView Updates

解决TableView Group 顶部空白

自动约束更新动画

使用CADisplayLink实现UILabel动画特效

iOS响应者链

Android

Kotlin 标签@使用

Kotlin Coroutines(协程) 完全解析(一),协程简介

HTTPS原理及交互过程

web

DSBridge源码阅读

深入理解javascript中的立即执行函数(function(){…})()

js中!和!!的区别及用法

Vue项目调试总结(1)-WebStorm+Chrome调试

es6 属性名表达式

other

即刻技术团队

SOLID

依赖导致,控制反转

Made of Bugs

ARM64 Function Calling Conventions

一瓜 iOS 面试小册

java运算符

移动端图片格式调研

为什么坐标变换的顺序必须是: 缩放->旋转->平移

fastlane Short: UTF-8 Locale Settings

iOS调试进阶

iOS 保持界面流畅的技巧

Xcode11,Transporter上传卡在——正在验证 APP - 正在通过App Store进行认证

视频

Exploring Swift Memory Layout

Flux

Optimizing App Startup Time

逆向

theos安装

汇编

ARM64汇编(二)

opengl

关于opengl中VAO、VBO和EBO的概念整理

记录

ify---为后缀, 使成,使……化
这和ize类似
ize---为后缀,做成,变成,……化
serial --> serialize:序列化
simple-->simplify 简单化,简化
string --> stringify :字符串化
复制代码

铁路

微信推送Server酱

内联优化(Inlining optimization):内联优化形象来说,就是在汇编中不使用 call func_name 语句,直接将外部方法内的语句“复制”到调用者的代码段内。这样做的好处是不用进行调用函数前的压栈、调用函数后的出栈操作,提高运行效率与栈空间利用率。

debugger Symbols 的简称
.dSYM文件是一个符号表文件, 这里面包含了一个16进制的保存函数地址映射信息的中转文件, 所有Debug的symbols都在这个文件中(包括文件名、函数名、行号等).
一般Xcode项目每次编译后, 都会产生一个新的.dSYM文件和.app文件, 这两者有一个共同的UUID.
复制代码