本文是对我的《SwiftUI 和 Combine 编程》书籍的补充,对一些虽然很重要,但和书中上下文内容相去略远,或者一些不太适合以书本的篇幅详细展开解释的内容进行了追加说明。如果你对 SwiftUI 和 Combine 的更多话题有兴趣的话,可以考虑参阅原书。 Combine 在 API 设计上很多地方都参考了 Rx 系,特别是 RxSwift 的做法。如果你已经对响应式编程很了...
我已经计划写一本关于 SwiftUI 和 Combine 编程的书籍,希望能通过一些实践案例帮助您快速上手 SwiftUI 及 Combine 响应式编程框架,掌握下一代客户端 UI 开发技术。现在这本书已经开始预售,预计能在 10 月左右完成。如果您对此有兴趣,可以查看 ObjC 中国的产品页面了解详情及购买。十分感谢! 接上一篇继续对 SwiftUI 的教程进行一些解读。 ...
我已经计划写一本关于 SwiftUI 和 Combine 编程的书籍,希望能通过一些实践案例帮助您快速上手 SwiftUI 及 Combine 响应式编程框架,掌握下一代客户端 UI 开发技术。现在这本书已经开始预售,预计能在 10 月左右完成。如果您对此有兴趣,可以查看 ObjC 中国的产品页面了解详情及购买。十分感谢! 总览 如果你想要入门 SwiftUI 的使用,那 A...
Swift 社区最近最重大的新闻应该就是 ABI 稳定了。这个话题虽然已经讨论了有一阵子了,但随着 Xcode 10.2 beta 的迭代和 Swift 5 的 release 被提上日程,最终 Swift ABI 稳定能做到什么程度,我们开发者能做些什么,需要做些什么,就变成了一个重要的话题。Apple 在这个月接连发布了 ABI Stability and More 和 Evolving...
概述 这是关于 JOSE 和密码学的三篇系列文章中的最后一篇,你可以在下面的链接中找到其他部分: 基础 - 什么是 JWT 以及 JOSE 理论 - JOSE 中的签名和验证流程 实践 - 如何使用 Security.framework 处理 JOSE 中的验证 (本文) 这一篇中,我们会在 JOSE 基础篇和理论篇的知识架构上,使用 iOS (或者说 Cocoa)...
概述 这是关于 JOSE 和密码学的三篇系列文章中的第二篇,你可以在下面的链接中找到其他部分: 基础 - 什么是 JWT 以及 JOSE 理论 - JOSE 中的签名和验证流程 (本文) 实践 - 如何使用 Security.framework 处理 JOSE 中的验证 这一篇中,主要介绍网络传输的密钥的编码和处理方法,以及进行数字签名和验证的基本流程。我们在之后实...
概述 事情的缘由很简单,工作上在做 LINE SDK 的开发,在拿 token 的时候有一步额外的验证:从 Server 会发回一个 JWT (JSON Web Token),客户端需要对这个 JWT 进行签名和内容的验证,以确保信息没有被人篡改。Server 在签名中使用的算法类型会在 JWT 中写明,验证签名所需要的公钥 ID 也可以在 JWT 中找到。这个公钥是以 JWK (JS...
工欲善其事,必先利其器。作为创造者,合手的工具可以以倍速提高效率。对于程序员来说,特别是对于在 macOS 上做开发的程序员来说,我们有非常多的 app 选择。 同时,也有很多朋友会好奇我日常做开发时都使用一些什么样的 app。趁这个机会整理一下自己所偏好使用的一些工具。 数码荔枝作为国内有名的软件经销商,为我们争取到了很多中国区特供的优惠价格,文中部分工具也提供了优惠合作的购买链接,您可...
其实这篇文章的缘起是由于在对 Kingfisher 做重构的时候,因为自己对 defer 的理解不够准确,导致了一个 bug。所以想藉由这篇文章探索一下 defer 这个关键字的一些 edge case。 典型用法 Swift 里的 defer 大家应该都很熟悉了,defer 所声明的 block 会在当前代码执行退出后被调用。正因为它提供了一种延时调用的方式,所以一般会被用来做资源释放...
我之前在专栏文章里曾经发布这篇文章,由于这个话题其实还是挺重要的,可以说代表了 Swift 今后发展的方向流派,所以即使和专栏文章内容有些重复,我还是想把它再贴到博客来。经过半年以后,自己对于这个问题也有了更多的实践和想法,所以同时也更新了一下。我没有直接改动原文,而是把新的想法和需要补充的说明,用类似这段话的引用的方式写在合适的上下文里。 开始先打个广告 我个人经常会在数码荔枝...