IGListKit 学习笔记一-基本使用

客户端开发中用到的最多的就是列表渲染的场景,官方提供了 UITableView 和 UICollectionView 来做,这些会导致 MassiveViewController 的问题,以及复杂列表配置繁琐的问题,所以我们会用第三方的列表渲染库,这些库基本上也是基于 UICollectionView 和 UITableView 的。这篇文章是介绍 IGListKit 的基础使用。 IGList ...

SSL如何进行安全传输

HTTPS 相对于 HTTP 来说最重要的一点改变就是增加了传输加密的功能,避免了数据在网络上的明文传输。HTTPS 能做到这一点依赖于 SSL/TLS 的工作,SSL 是基于 HTTPS 下的一个协议加密层。 > SSL(Secure Socket Layer)安全套接层,是1994年由Netscape公司设计的一套协议,并与1995年发布了3.0版本。 > > > TLS(Transpo ...

客户端开发未来展望

从移动互联网开始辉煌到现在差不多也有十多年的时间了,整个移动互联网的发展可谓是波澜壮阔,相信未来一定有好事的人把这段经历记录下来。但是最近两年的互联网行业开始出现一种暮气,整个行业面临着增长停滞的困境以及可能被整顿的风险。从前年开始大厂的 HC 开始逐渐变少,从去年到今年大厂开始一轮又一轮的裁员,个行业弥漫着焦虑的气息。虽然目前的现状让人扼腕,但是着似乎才是真实的商业世界。 整个行业的开发岗位变 ...

Swift 枚举

说说 Swift 枚举 Swift 枚举的能力 相对于 OC 来说,Swift 枚举提供了更多的能力。从本质上来说 OC 的枚举实际上是整型的别名,只能存储整数。而 Swift 中枚举是独立的类型。 官方文档对 Swift 中枚举的描述是 > 在 Swift 中,枚举类型是一等(first-class)类型。它们采用了很多在传统上只被类(class)所支持的特性,例如计算属性(com ...

CoreData 学习笔记七-CoreData+TableView差量数据源更新

这篇笔记是介绍使用 CoreData+TableView 中使用差量数据源(Diffable Datasource)。使用差量数据源的起因是,在 CoreData+TableView+iCloud 使用过程中遇到的一个 Crash 的问题。经常在同步的时候遇到下面这个崩溃报错: > ** Terminating app due to uncaught exception 'NSInternalI ...

Swift 内存模型

最近有兴趣想要看看 Swift 对象的内存布局,所以尝试研究一下这个话题。这篇文章主要是关注结构体和类的内存模型。 MemoryLayout Swift 官方提供了 MemoryLayout 这样的一个类方便我们来分析内存模型,这个类描述了类型的 size, stride 和 alignment > The memory layout of a type, descr ...

UITableView学习笔记一-差量数据源

这篇笔记是介绍基于差量数据源(diffable data source)去更新列表展示的使用说明。对 UITableView 和 UICollectionView 都生效,这边笔记是用 UITableView 为例子的。 普通数据源方式 通常来说我们都是让包含 TableView 实例的视图控制器实现 UITableViewDataSource 协议,实现对应的方法,类似 ...

iOS开发中JSON-Model转化

iOS 开发中经常遇到的数据类型转换发生在网络请求回来的时候,字符串转成 Foudation Object(比如 Dictionary 或者 Array)然后再转换成我们定义好的 Model 类型,一般来说就是 JSON 转 Model。 Objective-C 时代的解决方案 之前使用 Objective-C 进行开发的时候,OC 并没有提供对 JSON 转化成 Model 很好的支持 ...

MVC和MVP的简单理解

新接手的项目使用的整体 App 架构是 MVP 架构和我之前惯用的 MVC 架构并不一样,所以花时间重新熟悉了下这两个架构,发现了很多之前没有注意到的点,值得简单记录一下。 传统的 MVC 的架构如图 Untitled MVC 最早是在20世纪80年代为程序语言 SmallTalk 发明的一种软件架构。但是传统的 MVC 和苹果改进后的 ...