预处理器宏在 SwiftUI 官方教程/视频中很常见,例如:
#if DEBUG
struct ContentView_Previews : PreviewProvider {
static var previews: some View {
ContentView()
}
}
#endif
需要那些吗?编译器肯定可以看到struct
内部没有使用并省略整个struct
,因为访问修饰符是隐式的,internal
对吗?我认为符合的所有东西都PreviewProvider
可以删除,但也许不是每个符合的对象都是如此,但如果不使用它,为什么Apple决定包含预处理器宏?
我试图在发布模式下运行它并在派生数据文件夹中找到编译的类,但我对它一无所知(.o 文件)。任何人都可以确认我们是否真的需要在发布版本中包含宏以省略未使用的代码(ContentView_Previews 类型不会在代码中的任何地方使用,期望预览在发布版本中无论如何都不会使用)?