欧阳大哥的轮子

原创技术文章分享
67 篇文章
15 人订阅

全部文章

欧阳大哥2013

MyLayout&TangramKit 的重大升级!

MyLayout和TangramKit是一套基于frame之上的UI界面布局库的OC版本和Swift版本。目前最新版本升级为MyLayout1.7.0和Tang...

562
欧阳大哥2013

深入iOS系统底层之函数调用

可执行程序是为了实现某个功能而由不同机器指令按特定规则进行组合排列的集合。无论高级还是低级程序语言,无论是面向对象还是面向过程的语言最终的代码都会转化为一条条机...

943
欧阳大哥2013

iOS应用程序瘦身的静态库解决方案

随着应用程序的功能越来越多,实现越来越复杂,第三方库的引入,UI体验的优化等众多因素程序中的代码量成倍的增长,从而导致应用程序包的体积越来越大。当程序体积变大后...

803
欧阳大哥2013

LLVM编译器中的内置(built-in)函数

在一些.h头文件中或者实现代码中经常会看到一些以__builtin_开头的函数声明或者调用,比如下面的头文件#include <secure/_string.h...

853
欧阳大哥2013

iOS系统的底层通知框架库

观察者模式是一种用于解耦一系列需要相互协作的类之间进行通信的对象行为模式。它定义了对象之间的一种一对多的依赖关系。当一个对象的状态发生改变时,所有依赖于它的对象...

553
欧阳大哥2013

iOS线程生命周期的监控

iOS系统通过Core Services层的Foundation框架提供基于OC语言的NSThread和NSOperationQueue类来实现对线程和线程池的...

793
欧阳大哥2013

iOS标准库中常用数据结构和算法之cache

缓存是以键值对的形式进行数据的存储和检索,内部采用哈希表实现。当系统出现内存压力时则会释放掉部分缓存的键值对。 iOS系统提供了一套基于OC语言的高级缓存库NS...

744
欧阳大哥2013

iOS标准库中常用数据结构和算法之位串

所谓位串就是由0和1组成的bit串,比如:010010110011101101101011。可以把位串看成是元素只有0和1组成的数组。一般情况下大量数据的标志位...

771
欧阳大哥2013

iOS标准库中常用数据结构和算法之内存池

内存池提供了内存的复用和持久的存储功能。设想一个场景,当你分配了一块大内存并且填写了内容,但是你又不是经常去访问这块内存。这样的内存利用率将不高,而且无法复用。...

1003
欧阳大哥2013

iOS标准库中常用数据结构和算法之链表

功能:对双向链表进行添加、删除功能。 头文件:#include <search.h> 平台:POSIX 函数签名:

572
欧阳大哥2013

iOS标准库中常用数据结构和算法之排序

排序是指将乱序数组变为有序排列的处理。iOS提供了快速排序、堆排序、归并排序、并行排序、基数排序一共5种排序函数。具体每种排序的概念介绍请大家参考相关的文档这里...

886
欧阳大哥2013

iOS标准库中常用数据结构和算法之查找

我本来想说的是Unix系统C标准库所提供的一些算法和数据结构API,但毕竟带有iOS标题可能更加吸引眼球一些。其实我说的也没有错,因为iOS毕竟是从Unix衍生...

842
欧阳大哥2013

iOS标准库中常用数据结构和算法之哈希表

系统提供一个全局的key为字符串的哈希表。并提供哈希表的创建、元素添加、元素查找、哈希表的销毁的能力。存储在哈希表中的元素是一个如下的标准结构:

952
欧阳大哥2013

iOS标准库中常用数据结构和算法之二叉排序树

功能:二叉排序树的标准实现是一颗平衡二叉树。二叉排序树主要用来解决高效插入和高效检索以及进行排序的问题。系统分别提供了二叉排序树节点的查找、添加、删除、遍历4个...

1002
欧阳大哥2013

iOS标准库中常用数据结构和算法之KV数据库

对于结构化数据的存储一般我们使用关系型数据库,而对于基于key-value类型的数据存储则不适合用关系型数据库。因此iOS系统也内置了一套基于key-value...

653
欧阳大哥2013

运行时Hook所有Block方法调用的技术实现

iOS系统中一共有:C函数、Block、OC类方法三种形式的方法调用。Hook一个方法调用的目的一般是为了监控拦截或者统计一些系统的行为。Hook的机制有很多种...

862
欧阳大哥2013

深入iOS系统底层之程序中的汇编代码

合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。--(老子·道德经 )

1323
欧阳大哥2013

深入iOS系统底层之映像文件操作API介绍

iOS系统生成的可执行程序或者动态库文件的存储布局格式被称之为mach-o格式。文件中存放着程序的代码和数据,而程序运行时系统会为其建立一个进程,以及分配虚拟内...

801
欧阳大哥2013

iOS多设备适配简史以及相应的API支撑实现

远古的iPhone3和iPhone4时代,设备尺寸都是固定3.5inch,没有所谓的适配的问题,只需要用视图的frame属性进行硬编码即可。随着时间的推移,苹果...

673
欧阳大哥2013

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

thunk程序其实就是一段代码块,这段代码块可以在运行时动态构造也可以在编译时构造。thunk程序除了在第一篇文章中介绍的用途外还可以作为某些真实函数调用的跳板...

1002

扫码关注云+社区