» February 01, 2016 Xcode
还有三天春节放假,实在沉不下心去看RAC,于是用这些零散的时间整理些东西吧。简单记录并介绍我用的Xcode插件。😃
Alcatraz:Xcode插件管理工具。安装完成后重启Xcode即可在”Window”下找到”Package Manager”。OK,enjoy it!
PS...
» January 30, 2016 编程思想
前言
函数式编程思想:是把操作尽量写成一系列嵌套的函数或者方法调用。
函数式编程特点:每个方法必须有返回值(本身对象),把函数或者block当做参数(block参数为需要操作的值,block返回值为操作结果)。
函数式编程简单实现计算器
//Calculator.h
@interfac...
» January 28, 2016 编程思想
前言
在响应式编程中,不需要考虑调用顺序,只需要知道考虑结果,类似于蝴蝶效应,产生一个事件,会影响很多东西,这些事件像流一样的传播出去,然后影响结果。借用面向对象的一句话,万物皆是流。
响应式编程其实并不复杂,经常用的KVO便是很典型的应用。
KVO实现原理
KVO,即key-value...
» January 26, 2016 编程思想
前言
一直在用Masonry,对其链式编程很敢兴趣。于是稍微看了下下其代码的实现。个人理解Masonry的优势主要在于:**能够将视图的约束代码聚集起来,方便代码的阅读与修改**。
链式编程是将多个操作(多行代码)通过点号(.)链接在一起成为一句代码,以增强代码的可读性。核心思想:方法的返...
» January 20, 2016 iOS
前言
本来想整理下Block内存管理的内容,发现这个坑挖大了。
Block的分类
Block 其实也是一个对象,并且在大多数情况下,Block 是分配在栈上面的,只有当 Block 被定义为全局变量或Block 块中没有引用任何 automatic 变量时,Block 才分配在全局数据段...
» January 15, 2016 iOS
前言
最近重温了一遍C语言的内存机制,对内存四区模型的理解又稍微深刻了那么一点。回过头来再看iOS的内存管理,其实是有想通之处的。想深入理解iOS的内存管理机制,就得先了解C的内存机制。
C语言内存
内存四区模型
在程序执行之前的过程大概是:
操作系统把物理硬盘代码load到内...
» November 16, 2015 runtime
Method Swizzling是改变一个selector的实际实现的技术。通过这一技术,我们可以在运行时通过修改类的分发表中selector对应的函数,来修改方法的实现。
简单使用
给NSArray加一个my_firstObject方法:
@interface NSArray (Tra...
» November 13, 2015 runtime
字典转模型
Student.h
#import <Foundation/Foundation.h>
@interface Student : NSObject
@property (nonatomic, copy) NSString *name;
@property (n...
» November 08, 2015 runtime
基础数据类型
SEL
SEL又叫选择器,是表示一个方法的selector的指针,其定义如下:
typedef struct objc_selector *SEL;
objc_selector结构体的详细定义没有在<objc/runtime.h>头文件中找到。方法的sele...
» November 05, 2015 runtime
类与对象操作函数
类相关操作函数
runtime提供的操作类的方法主要就是针对这个结构体中的各个字段的。下面我们分别介绍这一些的函数。并在最后以实例来演示这些函数的具体用法。
类名(name)
类名操作的函数主要有:
// 获取类的类名
const char * class_getN...