主页
OneV's Den
Cancel

WWDC 2020 上 Swift Package Manager (SPM) 开始支持 Resource bundle 和 Binary Framework。对于 Package 的维护者来说,如果有需求,当然是应该尽快适配这些内容。首先要做的,就是将 Package.swift 中的 Swift Toolchain 版本改到最新的 5.3:只有最新的 tool chain 才具备这些功能...

WWDC 2020 中,SwiftUI 迎来了非常多的变更。相比于 2019 年的初版,可以说 SwiftUI 达到了一个相对可用的状态。从这篇文章开始,我打算写几篇文章来介绍一些重要的变化和新追加的内容。如果你需要 SwiftUI 的入门和基本概念的材料,我参与的两本书籍《SwiftUI 与 Combine 编程》和《SwiftUI 编程思想》依然会是很好的选择。 字太多,不想看...

App clips 是今天 WWDC 上 iOS 14 的一个重要“卖点”,它提供了一种“即时使用”的方式,让用户可以在特定时间、特定场景,在不下载完整 app 的前提下,体验到你的 app 的核心功能。 装好 Xcode 12 以后第一时间体验了一下如何为 app 添加 app clip。它的创建和使用都很简单,也没有什么新的 API,所以要为 app 开发一个 clip 的话,难点更多...

2018 年 3 月的时候我写过一篇在 Swift 中如何改进 Delegate Pattern 的文章,主要思想是用遮蔽变量 (shadow variable) 声明的方式,来保证 self 变量可以被常时地标记为 weak。本文中,为了保证没有看过原文的读者能处在同一频道,我会先 (再次) 简单介绍一下这种方法。然后,结合 Swift 5.2 的新特性提出一些小的改进方式。 Deleg...

本文是对我的《SwiftUI 和 Combine 编程》书籍的补充,对一些虽然很重要,但和书中上下文内容相去略远,或者一些不太适合以书本的篇幅详细展开解释的内容进行了追加说明。如果你对 SwiftUI 和 Combine 的更多话题有兴趣的话,可以考虑参阅原书。 上一篇文章里,我们探索了 Combine 里对 back pressure 的处理。在那边,主要涉及到的是实现自定义的 ...

距离上一次写年终总结已经过去四年时间了。在人生中带上两个小朋友以后,远游这种事情的难度就高企不下了。一年里除了工作以外,活动的轨迹多半也都落在了以家为圆心两公里为半径的圆周里。看着小朋友们一天天长大,在被她们的想象力和好奇心折服的同时,也不可避免地感觉到了自己的“成熟”…嗯,或者直白些,不可避免地感觉到了自己在变老。 对我来说,2019 年是很有意思的一年,它是充满“矛盾”的一年。我能...

本文是对我的《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...