0%

一个简单的纯 Swift 的 IconFont 使用工具类。可以让我们在项目中轻松使用 IconFont 图标。

IconFont 的好处:

  • 减小 ipa 包的大小
  • 图标缩放保真
  • 颜色切换方便,可适应多主题
  • 多端适配
Read more »

目前主流的路由方案主要有三个,URLRoute、Protocol-class、Target-Action。关于这三个方案的文章有非常多了,每个路由方案都是各有优缺点。

现在介绍的这个路由方案,是一个专门给 Swift 项目用的,简单的路由解决方案。利用了 Swift 枚举的特性,可以简单的将项目中的业务模块进行解耦。

Read more »

Property Wrapper, 属性包装器,顾名思义就是包装属性用的。

属性已经有了属性观察器(willSet、didSet)这些方法来帮助我们控制属性的一些行为,为什么还需要属性包装器呢?

比如说,我们业务中经常需要对属性值进行安全检查或一些其它处理时,我们可以利用属性观察器进行处理。但是,当有很多类似的场景时,我们当然不希望相同的处理逻辑需要写多次,这样我们就可以用属性包装器进行包装了。

包装后的属性多了哪些东西呢,一般属性包装器是一个 ​​struct​(也可以是 ​​class​ ),有一个 ​​wrappedValue​ 属性作为被包装属性的实际值。属性包装器可以是一个泛型类型,其泛型参数就是被包装属性的类型,由于属性包装器是一个 ​​struct​/​​class​,所以可以有的东西它也不会少,可以定义额外的属性和方法等来帮助属性额外逻辑的实现。

Read more »

SwiftUI 中有很多官方的组件已经非常好用,但是在一些特殊的场景中还是需要使用 UIKit 的组件提供支持,这篇文章简单介绍一些如何让 SwiftUI 和 UIKit 的组件混合开发的方法。

在真正使用 SwiftUI 开发时,还是推荐尽量使用原有组件来完成功能。

文章简单记录如果使用,对于具体的业务来说,逻辑肯定是更加复杂的。

Read more »

RxSwift 是函数响应式编程框架。它可以帮助我们更方便的使用系统的 Target Action / 代理 / 闭包 / 通知 / KVO,同时还提供网络、数据绑定、UI事件处理、UI的展示和更新、多线程等功能。

RxSwift 的核心逻辑:

创建序列 -> 订阅 -> 发送信号 -> 响应事件 -> 销毁

这篇文章从一个最简单的事件订阅来一步步学习在 RxSwift 中事件的流动及响应。

RxSwift 中文文档

Read more »

买了一个 ps4!买了一个 ps4!买了一个 ps4!

算是完成少年时小小的心愿。第一次知道这么个游戏机应该是初中时,看到别人去游戏厅玩《三国无双》,虽然那不是我喜欢的游戏类型,但是,看到人家用手柄那样操作,莫名的觉得就很酷。

虽然是个二手机子,但是对我而言已经完全足够了。我知道玩的机会会很少,但是我有。这就够了。

很感谢老婆对我的支持。

说实话,我虽然想,但是我考虑到花几千大洋仅仅是为了买一个可能玩的也不多的游戏机时,我还是非常犹豫的。

是老婆坚定的支持才让我下定决心。非常感谢老婆,在柴米油盐的生活中,守护了我小小的少年心思。