240 发简信
  • 120
    map、filter、reduce的用法

    Swift中的map、filter、reduce可以对Array、Dictionary等集合进行操作。如果你没有函数式编程经验,你可能更习惯于使...

  • Git新功能:switch、restore

    这篇文章将介绍git restore和git switch两个命令。 想要了解为什么新增了git restore和git switch命令,需先...

  • 120
    CoreGraphics系列三:pattern和transparency layer

    这篇文章将介绍如何在视图的背景上绘制重复的 pattern,为多个layer绘制一个阴影。 这篇文章基于前两篇文章CoreGraphics系列一...

  • 120
    CoreGraphics系列二:gradient和context

    上一篇文章CoreGraphics系列一:path[https://github.com/pro648/tips/blob/master/sou...

  • 120
    CoreGraphics系列一:path

    Core Graphics 框架也称为 Quartz 2D,是基于 Quartz 的高级渲染引擎,它提供了底层轻量级 2D 渲染引擎,可以进行高...

  • 120
    strong、weak和unowned的区别

    编写代码时需注意是否产生了循环引用,因此就产生了什么时候使用weak、unowned问题?这篇文章将介绍 Swift 中的strong、weak...

  • 面向协议编程

    协议(Protocol)是 Swift 的基础功能。在 Swift 的标准库中起着主导作用,并且是一种常见的抽象方法。Protocol 提供了与...

  • 120
    Block的本质

    当需要执行异步操作,或同步多个操作时,块(Block)会非常有用。这一篇文章将介绍 Block 的本质。如果你对 block 还不了解,推荐先查...

  • 120
    关联对象 Associated Object 的本质

    上一篇文章分类category、load、initialize的本质和源码分析[https://github.com/pro648/tips/b...