OC Memory Managment(二):Autoreleasing
ARC的引入,使得程序员摆脱了MRC那个"黑暗的时代"。本文是对OC ARC的概述,意在使得开发者在写OC代码的时候,了解编译器在背后做了哪些内存管理的事情。



OC Memory Managment(一):ARC
ARC的引入,使得程序员摆脱了MRC那个"黑暗的时代"。本文是对OC ARC的概述,意在使得开发者在写OC代码的时候,了解编译器在背后做了哪些内存管理的事情。



OC Runtime(A1):配置Runtime源码环境
runtime在通常的Xcode工程中是用汇编码存储的,因此调试runtime想查看其源码对于汇编不熟悉的同学比较不适应。好消息是苹果开源了objc runtime源码。本文介绍如何自己添加objc runtime源码到Xcode工程中。



OC Runtime(三):Category Part II:Associated Objects
在Objective C 中,一旦类被定义好了,想扩展它的iVar是被禁止的,除非重写改写类本身。我们知道Category可以被用来扩展方法而非iVar,而Associated Objects技术就是用来在遵循实例变量不能扩展的前提下,增加property的。这样在外部看来可以用dot notatoin access 所有的属性,就像达到了iVar可以被扩展的假象。本文就来详细介绍一下Objective C Runtime的Associated Objects。



OC Runtime(三):Category Part I:机制
在Objective C中, Key Value Observing 是用来对Observing Pattern的Apple官方实现。 它的实现原理用的是isa Swizzling。但是apple对其细节没有多讲。本文用三种方式来实现Oberving Pattern:普通设计模式, isa Swizzling和Method Swizzling。希望通过本文能让您对Observing Pattern有一个全面的认识。



OC Runtime(二):Messaging Part IV:KVC
Key Value Observing 是Objective-C对Observer Pattern的内置实现。它的功能非常强大, 同时API设计糟糕,相应的坑也不少。本文对Key Value Observing进行介绍。



OC Runtime(二):Messaging Part III:KVO
Key Value Observing 是Objective-C对Observer Pattern的内置实现。它的功能非常强大, 同时API设计糟糕,相应的坑也不少。本文对Key Value Observing进行介绍。



OC Runtime(二):Messaging Part II:手动实现objc_sendMsg
Objective-C中的消息发送和C中的函数调用有着本质的区别。后者在编译阶段已经确定了函数的具体实现, 而前者在运行时还可以更改消息发送的具体实现,这给Objective-C注入了崭新的动态活力。而这都得益于Objective-C的Runtime系统。本文在介绍Runtime Messaging机制后,实现两个黑魔法,isa swizziling和method swizzling。



OC Runtime(二):Messaging Part I:消息机制和swizzling
Objective-C中的消息发送和C中的函数调用有着本质的区别。后者在编译阶段已经确定了函数的具体实现, 而前者在运行时还可以更改消息发送的具体实现,这给Objective-C注入了崭新的动态活力。而这都得益于Objective-C的Runtime系统。本文在介绍Runtime Messaging机制后,实现两个黑魔法,isa swizziling和method swizzling。



UnsafeMutablePointer
在swift中,对于指针的操作都被限制到最低,能不使用尽量不使用。但是还是有一些场合需要我们使用指针。Swift处理指针主要是UnsafePointer和其可变类UnsafeMutablePointer。本文主要介绍它们的用法。