DEVELOPMENT NOTES · 15 篇
Swift 与运行时
从 Swift 2、Swift 3 的学习笔记,到 Objective-C 运行时与设计模式,这里保留的是理解语言行为的过程。语法会变化,追问“这段代码为什么这样执行”仍然有用。
怎么读这一组
- 初读可从协议代理、Block 与 Swift 常见陷阱开始,先分清值、引用、闭包捕获和对象生命周期。
- 看 runtime 文章时,按属性与变量、消息机制、字典转模型的顺序梳理;把运行时能力与具体项目里是否需要使用分开考虑。
- 模板、单例、享元与职责划分适合对照阅读。先写出要解决的重复代码或共享状态问题,再判断模式是否合适。
这是 2015–2017 年的历史记录,示例未在本次整理中重新运行验证。先核对文章日期和版本说明,再决定哪些思路适合当前项目。
主题文章
15 篇 · 新到旧-
iOS开发之位运算
从按位与、或、异或和取反讲起,以 RGBA 颜色打包及状态标志为例展示位运算用途,再说明如何用枚举与掩码保存和查询多个状态。
-
iOS开发之均衡代码职责浅谈
围绕 MVC 中控制器过于庞大的问题,用项目示例讨论视图、模型和控制器的职责分配,提取重复逻辑并调整功能归属,强调在更换架构名称之前先理清代码责任。
-
Swift3.0学习系列之Swift实战-单例模式
介绍 Swift 单例的用途与代价,通过类内静态常量和全局常量两种形式创建共享实例,说明私有构造器、跨模块访问,以及共享可变状态仍需考虑线程安全。
-
Swift3.0学习系列之Swift实战-享元模式
以共享本地数据管理对象为例介绍享元模式,使用字典复用已加载的数据并记录使用次数,在无人使用时保存和释放,讨论它与始终保留单例对象的差别。
-
iOS开发之协议代理
以 UITableView 和自定义控件为例区分协议与委托,比较 delegate 和 block 回调的使用场景,再讨论数据源与协议抽象如何帮助对象之间减少耦合。
-
菜鸟进化史之RunTime实战字典转模型
从逐项赋值、KVC 和第三方模型库的使用经历出发,编写 NSObject 分类遍历运行时信息,把字典映射为模型,并说明示例对两层嵌套数据的处理范围。
-
iOS开发之去model化开发
面对字段不同但展示相近的多种票券数据,使用字典承载数据并通过协议暴露统一展示属性,让 Cell 与控制器减少对具体模型类型的依赖,讨论数据转换职责的放置。
-
iOS开发Swift实战之模板模式
以商品数据和计算逻辑为例,分析代码对元组结构的依赖,再用类型与协议组织可复用的处理方式,讨论如何通过抽象减少参数形式和业务方法之间的耦合。
-
iOS开发之从源代码看OC的消息机制runtime
从 unrecognized selector 错误切入 Objective-C 消息机制,结合源码讨论方法查找、缓存与消息转发,再通过运行时相关示例理解方法调用如何在执行阶段完成。
-
runtime实战之一键改变字体
从注册自定义字体和查找字体名称开始,利用 Objective-C 运行时方法处理界面字体替换,并讨论代码创建控件与 storyboard 控件在统一设置时的差别。
-
iOS开发之学习block深入浅出
从 block 的声明和调用方式讲起,讨论捕获外部变量与回调封装,再通过模仿 Swift 高阶函数的例子展示 block 在 Objective-C 数据处理中的用法。
-
iOS开发之重构笔记-Extra Method
结合《重构》的提炼函数方法,把冗长代码按意图拆成独立函数,逐步处理参数、局部变量和返回值,并用实际示例讨论如何降低重复逻辑和提升可读性。
-
详解Swift中的七个陷阱以及避免方法
通过具体代码讨论 Swift 协议扩展、可选链赋值和函数式处理中的易错行为,比较值类型与引用类型的分派差异,并总结如何避免编译通过却不符合预期的结果。
-
iOS开发黑魔法KVO的奥秘
以监听列表滚动偏移为入口介绍 KVO,分析观察者注册后动态子类与 isa 指针的变化,并借助运行时函数尝试实现相似机制,串起使用方式和底层原理。
-
黑魔法runtime基础之属性与变量
区分 Objective-C 属性与成员变量,结合运行时结构、地址偏移和 synthesize 分析属性的生成方式,再通过示例说明动态检查与操作对象结构的用途。
这个主题里没有匹配文章
减少关键词再试一次,或到全部开发笔记中查找。