场景 官方推荐的使用 autoreleasepool 的场景: 非 UI 项目,比如命令行 使用 Xcode 创建一个默认的空命令行项目你会发现 main 默认添加了 @au...
使用 AutoLayout 时,view 不会立刻布局,而如果此时恰好需要给 view 添加 layer,layer 的 frame 设置为 view 的 frame 会得到...
objc_msgSend 调用一个方法的时候,runtime 层会将这个调用翻译成 比如,一条语句 [receiver message]; 会由编译器转化为以下的纯 C 调用...
前言 在使用 QQ,微信等第三方登录时需要通过 application:openURL:options: 方法来调起对应的应用。但是在制作登录 SDK 时无法直接在 appl...
引子 最近遇到一个需求,需要把一个 UIView 转换为一个 UIIamge,这里用到了 UiKit 的上下文,还需要了解 Core Graphics 的一些内容,所以总结一...
性能 先参考一张 ibireme 大神的图: 自旋锁 自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是否该自旋锁的保持者已经释放了锁。自...
main函数后 进入 mian() 之后需要�设置 AppDelegate 为应用代理,代理会在 App 启动之后调用: 点击Home键时 点击APP时 UIViewCont...
概述: 从点击应用到执行 main() 之前,系统进行了以下行为: Load dylibs:递归映射所有依赖的动态库(dylibs) Rebase:对所有图像进行重设基址 B...
1. 启动流程 1.1 准备知识 Mach-O Apple的操作系统的可执行文件格式几乎都是mach-o,mach-o可以大致的分为三部分: 绝大多数mach-o包括以下三个...
Mach-O Mach-O 是运行时可执行文件的文件类型,主要包括: Executable,可执行文件,应用中最重要的二进制文件,也就是应用扩展的主二进制文件; Dylib,...
由 CoreFoundation 创建、管理的对象,生命周通过手动调用 CFRetain/CFRelease 来管理。 Core Foundation 内存管理的三原则: 通...
一. iOS中发送HTTP请求的方案 在iOS中,我们常用发送HTTP请求的方案有苹果原生(自带)NSURLConnection:用法简单,最古老最经典最直接的一种方案 (i...
是的,这是 Airbnb 宣布放弃 RN 后的系列文章的最后一篇,描述了放弃 RN 后的移动开发,从文章来看虽然放弃了 RN,但是也从 RN 中吸取了一些思想。
Airbnb: 移动开发的下一个时代本文翻译自What’s Next for Mobile at Airbnb 这是我们关于React Native的系列文章的第五篇,描述我们在React Native上的经验...
前言 需求:有三个异步执行的任务A、B、C,任务 C 必须等待任务 A 和 任务 B 执行完毕才执行。 本文分别采用三种方法来实现线程执行顺序的控制,semaphore、ba...
前言 Homebrew 是使用 Mac OS 的一件利器,Homebrew 可以安装 Apple 没有预装但非常需要的东西。Homebrew 会将软件包安装到独立目录,并将其...