初识 The Composable Architecture(一)
Reducer
1 | public enum CounterAction { |
上面的代码是个标准的 reducer 结构:当收到 incrTapped 时,修改全局状态(计数加一),再返回新的全局状态。为什么称这样的结构为 reducer?
1 | public enum CounterAction { |
上面的代码是个标准的 reducer 结构:当收到 incrTapped 时,修改全局状态(计数加一),再返回新的全局状态。为什么称这样的结构为 reducer?
工作项目用了 Socket.IO 来做客户端与服务端的实时通信,我看了 Socket.IO 是基于 WebSocket 协议进一步封装的。于是,我希望通过实现 WebSocket 客户端 的 一小部分 功能,以达到了解 WebSocket 协议的目标!
前阵子遇到一个很奇怪的 BUG:用 NavigationStack push 一个 View,CPU 使用率竟然冲上 100%!当 Xcode 运行一段 SwiftUI 代码时,我们应该关注哪些方面?特此回顾 WWDC 21 Demystify SwiftUI。
在 Swift 中,协议是非常重要的部分之一。使用协议,可以让我们写出灵活的代码,而不必拘泥于接口和实现的耦合,但协议也有自己的问题。
阅读 Alamofire 5.9.1 版本的源代码,有些收获,记录于此。
本文为 Raywenderlich 出版的《Expert Swift》第 8 章节《Codable》阅读笔记。
除了 Xcode Cloud,你还有别的选择。
最近想了解如何设计一个简单的缓存系统,于是找了 Kingfisher 7.1.2 版本的源代码读一读,有些收获,记录于此。
拾人牙慧而已,並非创见。