What is Life But One Chanllege After Another

Mac 配置OpenCV C++环境

今天公司需求有部分要涉及到对图片的处理,因此需要集成OpenCV, 本篇文章为记录集成OpenCV环境的过程

Mac 配置OpenCV C++环境

iOS文本导出为Docx文件

近期的需求中有一项任务是将用户输入的文字和图片写入Word文件并支持导出,对于苹果和微软的爱恨情仇很早就知道,iOS文本写入Word难度可想而知,所以在接到这个需求的第一时间,我就明确要求这个需求要先调研,然后再开始。所以这篇文章也算是对我调研结果的一个总结。

iOS文本导出为Docx文件

修改证件照背景颜色

近期我们的某个需求中有一个需求是需要替换证件照背景颜色,且我们不希望使用三方框架,且需要使用原生来实现,之前并未接触过此类图片处理相关的任务,因此需要仔细调研下各类实现方式,确认是否满足产品要求。

修改证件照背景颜色

0xdead10cc问题调研

近期我们新做了一个需求,其中一个实现是需要在启动和使用这个功能时,从网络获取大量数据,然后将数据保存到数据库中。后续操作我们均从数据库获取。但是该需求上线后,Xcode中反馈了很多0xdead10cc问题。因此本篇文章主要是介绍对0xdead10cc的了解。

0xdead10cc问题调研

Gif展示对比和优化

Gif展示对比和优化

Runtime之MetaClass

对于iOS开发者来说,元类一直是一个在面试时被重点考察的点,为什么在语言设计时要增加元类这个概念?他的优点是什么?他到底有什么作用呢?这篇文章我们从Runtime源码的角度和语言设计的角度来探讨MetaClass存在的原因以及他的存在解决了哪些问题。

Runtime之MetaClass

iOS KVC 实现探究

我们都知道iOS开发中有很多黑魔法,KVC就是其中之一,在平时开发中我们也会使用KVC去获取一些系统未公开的API方法,但同时我们可能要承担一些被拒或者因系统API改变导致的问题。这篇文章我们从源码的角度分析KVC的实现。

iOS KVC 实现探究

Runtime之KVO

KVO(Key-Value-Observer)即键值监听,我们在平时的开发中通常用来监听对象属性的变化,比如UIScrollViewContentOffset,不过同时我们要注意在不需要继续监听的时候及时的移除监听,否则可能会导致崩溃。因此这篇文章让我们更好的了解KVO

Runtime之KVO

Runtime之对象的一生

在所有的面向对象语言中,万物皆对象。Objective-C也不例外,这篇文章我们从Runtime的源码去分析一个对象从创建到销毁的整个过程中都做了哪些操作,同时也加深我们对内存管理的理解。

Runtime之对象的一生

Runtime之消息转发

我们都知道,在iOS开发中方法的调用实现实际上是通过消息发送的机制实现的,我们可以简单的理解为:

[A a];调用A类的a方法,实际上就是给类A的a方法发消息。

在这个过程中又会经历:方法查找、方法调用、方法转发这几个阶段,下面我们来通过这几个阶段来看下Runtime在这几个环境是如何实现的。

Runtime之消息转发