iOS 内是通过引用计数来管理内存,引用计数的管理,很容易会出现“循环引用”问题。weak
修饰符,也是开发日常最常用的打破循环引用方式。被 weak
修饰符修饰的弱引用除了不会增加对象的引用计数外;在引用对象被释放后,这个弱引用会自动失效并置为 nil。本篇总结分析下 Objective-C 中 weak
都是怎么实现的。
记录 clang 编译错误的解决。
$ clang -rewrite-objc main.m |
NSSet,NSDictionary,NSArray 是 Foundation 框架关于集合操作的常用类。在 NSSet 中,objects 是被强引用的(strongly referenced),同样 NSDictionary 中的 keys 和 values 也会被 NSDictionary 复制。如果我们想要存储一个 weak 类型的值或者使用一个没有实现 NSCopying 协议的 object 作为 NSDictionary 的 key,就可以分别使用和 NSSet,NSDictionary 地位相同的 NSHashTable,NSMapTable。
本篇是对 YYCache 源码阅读过程中的梳理。YYCache 是一个线程安全的高性能 Key-Value 缓存框架。代码质量很高,值得拿来学习。
图片相关的处理,在移动应用中属于比较重要的一个角色。本篇主要是对 YYImage 的源码实现做一个梳理,内容结构:
视频链接:WWDC 2017 Session 505 - What’s New in Photos APIs
本节要介绍的是 Photos APIs 的一些新特性。简单的概括有下面这几点内容:
后续内容,会对这几个点依次展开。
总结记录 Objective-C 使用过程中一些 Tips。
KVC 即键值编码。是一种可以不通过存取方法,直接通过属性名称字符串简介访问属性的机制。
本篇是对 KVO(Key-Value Observing) 的梳理。内容结构:KVO 基本使用、KVO 实现原理、自己实现 KVO。