形动清单

形动清单是一款能帮助你改善工作效率的应用。

它结合了番茄工作法和待办事项这两个主要功能。您可以很方便的查看最近的待办事项以及系统的日历。

系统需求

iOS 11.4+

时间轴

1.0 10/7 第一个正式版

功能

-[] 项目集成

-[] 提醒重构

-[] 优先级

-[] SiriKit 和 Shortcut 支持

未来计划功能

-[] Widget

代码优化

-[] Connect 截图模板

-[] fastlane 集成

深入浅出 Runtime

缘起

我不大喜欢 runtime,尤其是在我刚刚接触 iOS 开发的时候,一个原因是刚开始的时候觉得,这个调用方法名怎么是用下划线的,那时候觉得看的非常别扭。而后慢慢熟悉了 iOS 开发之后,尤其在了解 OC 的 GCD 也是下划线命名的方法之后,也不觉得那么面目可憎了。

不过相对于 GCD,runtime 在平时开发中,真的用得少,更后来到铃盛做开发,公司是用 Swift 开发的应用,用到 runtime 的时候就更少了。于是乎,平时对运行时这部分就用的比较少。也没有抽时间去专门了解一下。

用得少并不代表不知道,尤其是用 OC 的时候接触过 JSPatch,在了解了一下原理......

算法一撇之数据结构

算法一撇之数据结构

算法是的基础应该是数据结构,适合的数据结构能优雅的解决问题。

数组

数组的最大优点是可以快速查询。数组最好的应用在于索引有语意的情况。

动态数组

数组的空间是有限的,那么如果增加或者删除的时候,开辟空间的长度不够或者多余的时候,应该怎么办呢?

一个直接的方法是。相应的把内存空间扩张或者收缩相应的倍数,一般可以设置为两倍。

动态数组的话,因为开辟的空间,每一次都需要将原本的数据复制到新的array上来。所以这个操作的复杂度是O(n)。

但是从概率上来说,你执行了n次操作之后才会有一次扩容操作。操作均摊下来,时间复杂度应该是 O(1)

当......