0%

如果你开发过涉及金额计算的 iOS app, 那么你很有可能经历过在使用浮点型数字时精度丢失的问题

himg

Visual Studio Code(以下简称 vscode) 应该是当今最流行的文字编辑器(之一)了, 除了用其来写代码, 我们还可以使用它来撰写技术文档, 譬如 Markdown文件. 本文将带你一步步将 vscode 打造成一个出色的 Markdown 编辑器

himg

iOS 的屏幕旋转有很多弯弯绕的地方, 旋转的成功与否取决于多个层面的共同作用.

himg

himg

Docker 是一个开源的应用容器引擎, 基于 Go 语言 并遵从 Apache2.0 协议开源.

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级, 可移植的容器中, 然后发布到任何流行的 Linux 机器上, 也可以实现虚拟化.

容器是完全使用沙箱机制, 相互之间不会有任何接口(类似 iPhone 的 app), 更重要的是容器性能开销极低.

iOS 的布局方式有

  • 绝对布局
  • 约束方式进行 autoLayout 布局

在这两种布局基础上, 我们可以使用

  • stroryboard/xib 布局

    适合团队, 条理清晰, (可能) 约束计算速度更快

  • 纯代码进行布局.

    storyboard/xib 的优点则是更加直观, 缺点则一大堆, 比如 view 稍多的情况下打开 storyboard 界面都会非常卡顿, 团队合作经常发生冲突需要进行协调.

因此使用纯代码布局是一劳永逸的一种方法. 其实 storyboard/xib 布局的原理和思想都是相同的, 无非就是对上下左右, 宽高进行约束, 当一个控件的约束足够时则约束完成.

本文所有的讨论都基于纯代码布局, 以及代码布局库 SnapKit.

himg

值类型和引用类型相比, 最大优势可以高效的使用内存, 值类型在栈上操作, 引用类型在堆上操作, 栈上操作仅仅是单个指针的移动, 而堆上操作牵涉到合并, 位移, 重链接, Swift 这样设计减少了堆上内存分配和回收次数, 使用 copy-on-write 将值传递与复制开销降到最低

himg