案例 # 我们先从一个问题说起,小明同学接到产品的一个新需求:实现一个 UIButton,要求在 normal、selected、highlighted 三种状态下展示不同文案。这简直太简单了,小明同学1分钟不到就实现了,关键代码如下:
2019-06-16 · 更新于: 2019-06-18 · 5 分钟
笔者工作经验4年,毕业之后一直梦想着进入大厂工作,一直朝着这个目标努力。经过一年的精心准备,拿到了字节跳动的 Offer,在这里分享一下我的一些心得,希望能帮助到有需要的同学。
说起生产者消费者问题(Producer-consumer problem),相信大家都印象深刻,有遗忘可以看看wiki上的解释,我们今天来聊聊怎么用 GCD 实现一个生产者消费者模型。
我们先理一下思路,看看问题关键点:
最近研究了下 connectionProxyDictionary,做一个简单的笔记。官方文档是这么描述的。
This property controls which proxy tasks within sessions based on this configuration use when connecting to remote hosts. The default value is NULL, which means that tasks use the default system settings.
2019-06-16 · 更新于: 2019-06-30 · 5 分钟
笔者工作经验4年,经过一年的精心准备,拿到了字节跳动和腾讯的 Offer,在这里分享一下我的一些心得,希望能帮助到有需要的同学。
一、摆正心态 # 我加了好几个 iOS 技术交流群,发现大家都有一个共识 ”iOS 没人要了“ 😂,其实很大部分是大佬们的自嘲(当真你就输了),不过也从侧面印证出移动端开发市场的要求越来越高,加上市场大环境不好,想要斩获大厂 Offer 难度越来越大。
APP 中有很多从服务器获取数据、资源的需求,为了节省流量、加快访问速度、离线使用等需求,就会使用到网络缓存。HTTP协议对于缓存设计了很多机制,感兴趣的同学可以看看《RFC2616-section13-Caching in HTTP》。
2019-01-28 · 更新于: 2019-02-02 · 6 分钟
本文讨论的 FMDB 版本为2.7.5,测试环境是 Xcode 10.1 & iOS 12.1。
一、问题记录 # 最近在分析崩溃日志的时候发现一个 FMDB 的 crash 频繁出现,crash 堆栈如下:
2018-12-03 · 更新于: 2018-12-04 · 4 分钟
我们在之前的文章中讨论了CALayer的backing images与几何布局,这篇文章我们来看看如何通过它的特性来实现一些炫酷的效果。
圆角与边框 # conrnerRadius 属性控制图层角的曲率。它是一个浮点数,默认为0(为0的时候就是直角)。conrnerRadius 只影响背景色而不影响 backing image 和 sublayers。如果把 masksToBounds 设置成YES,图层里面的所有东西都会被截取。 CALayer另外两个非常有用属性就是borderWidth和borderColor。二者共同定义了图层边的绘制样式。这条线(也被称作stroke)沿着图层的bounds绘制,同时也包含图层的角。 borderWidth是以点为单位的定义边框粗细的浮点数,默认为0。borderColor定义了边框的颜色,默认为黑色。
2018-12-02 · 更新于: 2019-06-17 · 7 分钟
本文是我阅读书籍《iOS CORE ANIMATION ADVANCED TECHNIQUES》的读书笔记,感谢原书作者及译者的分享! 推荐大家有时间可以读读原书,写的很精彩。中文版
一、Core Animation定义 # 什么是Core Animation,相信很多同学对于它既熟悉又陌生,从名字上来看它应该是一个做动画的框架,其实动画只是它的一部分,它曾经叫做Layer Kit。
2018-12-02 · 更新于: 2019-06-18 · 4 分钟
一、Layout # UIView有三个比较重要的布局属性:frame,bounds和center,CALayer对应地叫做frame,bounds和position。 frame是图层在父图层上的坐标,bounds是内部坐标({0, 0}通常是左上角)。 center和position要难理解一些,简单来说他们定义了anchorPoint在父图层中的位置(后面会详细说明)。