跳到主要内容

Swift5.9 和 Xcode15 中的新功能

· 阅读需 3 分钟
GoSwiftUI
goswiftui.com

多棒的主题演讲!

如果 Vision Pro 能够兑现承诺,我们可能即将迎来一些非常令人兴奋的时刻,就像 15 年前发布原始 iPhone 时一样 🤩

但我相信你已经听说了主题演讲中宣布的所有信息。所以我就不再多说了。

相反,我一旦有机会,就立刻安装了 Xcode 15,并开始探索寻找所有我能找到的酷炫新功能!

现在我想与你分享我的发现 😌

img

让我们从这个简单而实用的功能开始:在使用条件编译时,不匹配当前目标的代码将被 Xcode 自动变为灰色。

img

另一个非常酷的生活质量改进是添加了代码书签。

如果像我一样,你曾经设置禁用断点来跟踪代码中的特定位置,那么这种变通方法很快就会成为过去的事情 👌

img

Xcode 15 还首次支持了一个非常有用的功能:为存储在 AssetCatalog 中的资源创建类型安全的标识符。

我相信很多人目前正在使用 SwiftGen 来实现这个目的。

从我所了解的情况来看,这个新功能甚至与较旧版本的 iOS 向后兼容!

img

预览功能也得到了很大改进!

首先,生成预览的代码现在要简单得多,得益于新的 Swift 宏“#Preview”的使用。

更好的是:预览现在也适用于 UIKit 和 AppKit!

img

Swift 5.9 带来了一个简单的新功能,我特别喜欢:现在可以将“if”和“switch”用作表达式!

img

最后,还有一个令我非常兴奋的新增功能:对 Swift 宏的支持。

我还没有太多机会尝试宏(某些时候,你必须要睡觉一下 🤪),但我对它们带来的所有可能性感到非常兴奋!

简而言之,宏是在编译时调用的小型 Swift 程序,能够生成新的源代码。

你可以将它们想象成基本上提供了与 Sourcery 相同的可能性,但这次直接内置在语言中。

Apple 分享了一些使用宏的示例,比如上面的示例,其中宏@CaseDetection 自动生成了用于测试一个值是否对应给定情况的属性 👌