2016年7月14日

iOS 性能小点

摘要: 这篇文章只是对一些测试结果进行展现,但可以根据这些点,开发的时候尽量避免不必要的性能问题。 本文中主要做了两项测试,对成员变量的设置及拼接字用不同方式下的耗时。虽然测试代码很简单,但还是贴一下 对于成员变量的设置进行了一亿次,结果如下: 可以看到按大小排列 KVC(testSetValueWithK 阅读全文

posted @ 2016-07-14 15:40 chenxianming 阅读(490) 评论(0) 推荐(0) 编辑

2016年7月11日

iOS NSNotificationCenter (自己实现一个通知中心XMCNotificationCenter)

摘要: 系统不是已经有通知中心NSNotificationCenter了吗?为什么还要自己实现一个呢?下面我们就考虑以下例子(下面大部分是我抄下我在github上写的说明及原码): 在iOS中模块间通知我们用得最多的就是NSNotificationCenter。举个例子,现在我们有一个模块需要抛一个通知出来 阅读全文

posted @ 2016-07-11 17:22 chenxianming 阅读(2353) 评论(0) 推荐(0) 编辑

2016年7月4日

iOS runtime (三)(runtime学习之YYModel源码分析)

摘要: 本文要写的是开源库YYKit其中一个组件YYModel,这个组件的用途就是提供JSON/Dictionary<==>Model这间相互的自动转换。对于它支持些个功能、性能如何、及它是如何提高它的性能可查看YYModel、及YYKit作者的文章,本文章是不会讲这些的,那我这篇文章主要讲什么呢,实现的细 阅读全文

posted @ 2016-07-04 16:25 chenxianming 阅读(2219) 评论(0) 推荐(0) 编辑

2016年6月29日

iOS runtime (二)(runtime学习之AutoCoding源码分析)

摘要: 在上一篇文章中,学习了runtime中的各个重要的知识点,接下来就是要开始运用了。主要是分析一些优秀开源库是如何运用runtime,提高工作效率的。 AutoCoding AutoCoding 是一个NSObject的类别,它提供归档解档(即自动序列化和反序列化)对象。在介绍这个开源库之前,先简单过 阅读全文

posted @ 2016-06-29 17:11 chenxianming 阅读(1515) 评论(0) 推荐(0) 编辑

2016年6月25日

iOS runtime(一)(runtime 分析理解)

摘要: 本文主要是我对学习runtime或其它知识过程中的串联起来写成的,里面也包括了引用外部相关的内容,也包括自己的理解,对runtime做个总结记录的同时把runtime的各个知识点衔接起来,希望能对读者有所帮助,文章有点长,希望读者做好心理准备。在仔细读完这文章后相信大家都对runtime有一定的理解 阅读全文

posted @ 2016-06-25 11:42 chenxianming 阅读(811) 评论(0) 推荐(0) 编辑

2016年6月11日

iOS 多线程开发 (概念与API简介)

摘要: 本文主要是我对多线程的总结,当是给自己的个复习,希望也可以给别人一些参考。 第一部分:概念及总结 还是从概念开始,先介绍一些概念性的东西,虽然简单,但是理解的深刻程度决定了是否能正解使用多线程的,还有用得有多好。 线程:线程是程序中一个单一的顺序控制流程,是线程中的一个实体,一个标准的线程由线程ID 阅读全文

posted @ 2016-06-11 15:56 chenxianming 阅读(354) 评论(0) 推荐(0) 编辑

2016年6月2日

探索 Block (一) (手把手讲解Block 底层实现原理)

摘要: 前言 要探索Block前先说一下我对Block的理解,我把它理解为:能够捕获它所在函数内部的变量的函数指针、匿名函数或者闭包。注意红色部份说的是它的精髓所在。希望看我这篇文章的人能够跟我说的步骤去做,做起来也比较简单,基本上是手把手,这样会有更好的效果,更深刻,当然如果只看文章就能够让读者明白,那是 阅读全文

posted @ 2016-06-02 21:09 chenxianming 阅读(9315) 评论(0) 推荐(2) 编辑

2016年6月1日

探索 NSRunLoop (二)(NSRunLoop 自己动手实现SimpleRunLoop)

摘要: 既然从上一篇文章中已经知道了RunLoop是怎么运行的。那自己动手实现一个又何尝不可。这文章代码较多,但希望看完这篇文章会对你有帮助。在最后 也会有一些总结性的说明。 本文中所用到的demo代码在我的gitHub上的SimpleRunLoop 首先RunLoop那一定要有事件输入源。创建一个定时输入 阅读全文

posted @ 2016-06-01 18:42 chenxianming 阅读(534) 评论(0) 推荐(0) 编辑

2016年5月25日

探索 NSRunLoop (一)(NSRunloop 运行机制探索)

摘要: 说到RunLoop,无论从项目代码或者网上都经常会看到以下这段代码: while (!_isFinish) { NSRunLoop *runloop = [NSRunLoop currentRunLoop]; [runloop runMode:NSDefaultRunLoopMode beforeD 阅读全文

posted @ 2016-05-25 16:22 chenxianming 阅读(713) 评论(0) 推荐(1) 编辑

导航