Self._printChanges() 在哪里为 SwiftUI 定义和/或记录?

Jus*_*tMe 9 xcode swift swiftui ios15

我看过一些关于iOS 15新Self._printChanges()功能的文章或视频,但在任何地方都找不到任何相关文档。有谁知道苹果在哪里记录了这个新功能?如何使用它是非常明显的,但我想看看我们可以用它做更多的事情,了解更多关于它的信息将会有所帮助。即使 Xcode 的查找也没有产生任何结果。有人发现什么吗?

ahe*_*eze 19

不幸的是,_printChanges()它是一个私有 API,这就是它没有记录的原因。这么多视频和文章引用它的唯一原因是一位 Apple 工程师在 WWDC21 期间提到了它。他们是这样说的:

\n
\n

从技术上讲,它不是 API,请注意前导下划线 \xe2\x80\x94,因此只能在调试时使用。我的一句话提示是我担心的文档的范围。

\n
\n

Screenshot of chat room

\n

但是,当您 + 单击时,Xcode确实会显示摘要Option

\n
\n

摘要
\n当在此类视图的主体调用中调用时,打印导致主体结果需要刷新的已更改动态属性的名称。除了物理属性名称之外,\xe2\x80\x9c@self\xe2\x80\x9d 用于标记视图值本身已更改,而 \xe2\x80\x9c@identity\xe2\x80\x9d 用于标记视图值本身已更改。标记视图的标识已更改(即与视图关联的持久数据已被回收用于相同类型的新实例)。

\n
\n