工作总结 六月 29, 2025

你不知道的 View Controller Containment

文章字数 10k 阅读约需 9 mins.

本文主要记录在工作过程中如何利用 View Controller Containment 来重构 UI 前言不知道你有没有经历过这样的情况,一个页面中有很多的 View,但各个 View 之间有明显的层级关系,这个时候一种可行的做法是把一系列相关联的 View 归到一个父亲 View 中。 但这种做法会有有一些其他的问题, 比如会让 View Controller 或者 View Mod... 查看全文

工作总结 六月 29, 2025

你不知道的 View Controller Containment

文章字数 10k 阅读约需 9 mins.

本文主要记录在工作过程中如何利用 View Controller Containment 来重构 UI 前言不知道你有没有经历过这样的情况,一个页面中有很多的 View,但各个 View 之间有明显的层级关系,这个时候一种可行的做法是把一系列相关联的 View 归到一个父亲 View 中。 但这种做法会有有一些其他的问题, 比如会让 View Controller 或者 View Model 比较大, 甚至有时候不得不把逻辑写在 View 里边。那么有没有一个既可以解决问题, 又不会引入更多棘手的问题的方法吗? 问得好! 如果你心里真的这个问题,那说明你一定是在质疑我写这篇分享的初衷。 不过别担心,看到最后我保证你一定会有所收获的。 背景铺垫了这么多,你可能会想: View Controller Containment 到底是什么个玩意,从来没听说过,确定会有人用这个吗? 但是接下来我会打消你的疑虑,因为苹果自己就在设计 UINavigationController 和 UITabBarController 利用了这种模式。在UINavigationController 和 ... 查看全文

学习笔记 四月 26, 2020

都是 Apple 惹的祸 - Coordinator Pattern 的前世今生

文章字数 1.3k 阅读约需 1 mins.

本文主要记录在学习 Coordinator Pattern 是的心得。 前言最近工作中需要对一个升级 B 端的项目,本来只是更新 UI,对 H5 进行支持的简单工作,但是我灵机一动(用大脑一抽可能更好一点),决定对项目进行一次重构,目标 MVVM-C。对于 MVVM 可能大家了解的比较多,但是后边那个小 C 是什么可能有些小朋友并不是特别清楚。这种时候,从小就开始训练的阅读理解能力就派上用场了,看一眼文章题目你就知道这个 C 代表什么了。什么? CyberHex?虽然我很开心,但是我替你们的语文老师伤心三秒,1,2,3,好了。其他人应该都猜对了,对!就是 Coordinator。那到底什么 Coordinator 的设计模式?它是怎么产生的?它解决了什么痛点?接下来我就带大家走进 Coordinator 的内心,从而对它有一个更深的了解。 背景从文章题目“都是 Apple 惹的祸”你可能已经看到了一些问题的端倪,没错,Coordinator Pattern 的出现就是为了弥补苹果在设计 UIKit 的时候的一些疏忽(不知道是有意还是无意的)。多年前一个风雨交加,电闪雷鸣的夜晚,... 查看全文

学习笔记 十一月 27, 2018

iOS 中的并发性问题

文章字数 11k 阅读约需 10 mins.

本文主要记录在学习 iOS 的过程中关于并发性的问题。 前言之前在开发过程中曾经遇到过挺多次并发的问题,比如在自己写 networking 代码的时候会遇到一些(对!我是自己手写 networking code, 老板禁止使用 Alamofire, 所以我就自己写了一个很小的库,以后有机会跟大家分享),但都是比较皮毛的东西,感觉自己并没有深入理解并发行的问题,现在下定决心好好研究一下并发性,毕竟面试会考挺多而且以后也会碰到很多。 背景现在很多事情都是多线的,电脑是多核的,手机是双卡双待的,你看我,我可以一边写博客,一边玩LOL(呃,不知道为什么就抄袭了爱情公寓的台词,不过好像有点讽刺)。其实我是想说,由于现在手机是多核的,意味着同一时间手机可以同时处理多个问题,于是很多现代操作系统比如 iOS 和 OS10 就利用利用了这个特点而使用多线程。在这里我就想提出一个千古难题,进程和线程的区别是啥,说实话,到今天之前我对这两个概念还是比较模糊。进程的定义是正在执行程序的一个实体,线程定义是程序的执行路径。简而言之,在 iOS 系统中,进程可以理解为就是一个 App, 而线程是程序执... 查看全文
0%