
iOS 查漏补缺
踏实做好每件小事
如果你有一天忘记了努力,我会给你讲kobe的故事。
个人博客 http://leejunhui.com
公众号 iOSDaily
展开
-
iOS 查漏补缺 - LLVM & Clang
LLVM 是一个自由软件项目,它是一种编译器基础设施,以 C++ 写成,包含一系列模块化的编译器组件和工具链,用来开发编译器前端和后端。它是为了任意一种编程语言而写成的程序,利用虚拟技术创造出编译时期、链接时期、运行时期以及“闲置时期”的最优化。它最早以 C/C++ 为实现对象,而当前它已支持包括 ActionScript、Ada、D语言、Fortran、GLSL、Haskell、Java字节码...原创 2020-03-20 16:06:59 · 792 阅读 · 0 评论 -
iOS 查漏补缺 - RunLoop
RunLoop 在 0202 年的今天其实已经不是个新鲜的话题了,关于这方面的文章网上有很多大神总结得非常精辟。作为 iOS 查漏补缺系列,这篇文章是笔者探索 RunLoop 底层的一些知识点总结,同时也借鉴了网上一些优秀的 RunLoop 技术文章的内容。本文内容如有错误,欢迎指正。RunLoop 前导知识iOS/OS X 系统架构iOS 进化史Mac OS Classic 拥...原创 2020-03-16 10:31:32 · 633 阅读 · 0 评论 -
iOS 查漏补缺 - 线程
多线程是我们开发和面试中都会遇到的一个重要概念,相比于其他编程语言和平台,iOS 的多线程使用起来要比较友好和易用一些。但是对于多线程的基本概念,我们还是需要重视起来,这对于我们探索 pthread、NSThread、GCD 以及 RunLoop 都大有裨益。本节的大部分内容基于苹果官方文档。文档地址: About Threaded Programming前导知识POSIXPO...原创 2020-03-13 12:26:48 · 365 阅读 · 0 评论 -
iOS 查漏补缺 - PerformSelector
performSelector 系列的函数我们都不陌生,但是对于它不同的变种以及底层原理在很多时候还是容易分不清楚,所以笔者希望通过 runtime 源码以及 GUNStep 源码来一个个抽丝剥茧,把不同变种的 performSelector 理顺,并搞清楚每个方法的底层实现,如有错误,欢迎指正。本文的代码已放在 Github ,欢迎自取一、NSObject 下的 PerformSele...原创 2020-03-12 23:16:56 · 460 阅读 · 0 评论