【发布时间】:2021-12-15 11:31:43
【问题描述】:
可以运行与操作系统版本相关的代码:
if #available(macOS 11.0, *) {
Button("test", action: {})
//.modifier1
//.modifier2
//.modifier3
//.modifier4
//.modifier5
//.modifier6
//.modifier7
//.modifier8
.foreground(.red)
} else {
Button("test", action: {})
//.modifier1
//.modifier2
//.modifier3
//.modifier4
//.modifier5
//.modifier6
//.modifier7
//.modifier8
}
是否可以在不重复代码的情况下对单个修饰符执行相同操作?
类似语法:
Button("test", action: {})
//.modifier1
//.modifier2
//.modifier3
//.modifier4
//.modifier5
//.modifier6
//.modifier7
//.modifier8
.if(macOS 11.0, *) { $0.foreground(.red) }
?
【问题讨论】:
-
这是否回答了您的问题stackoverflow.com/a/63056850/12299030?
-
@Asperi 不,我需要应用与 macOS 版本相关的任何修饰符的方法。不止一个人。
-
在“if”语句的情况下,我有类似的“银弹”:prnt.sc/1xx7pir(使用示例在屏幕截图的底部)——所以有时“银弹是现实,但不是某种奇妙” :) 只是希望这里也存在一些银弹存在的可能性:)
-
@Asperi 银弹存在)不是最好的解决方案,但仍然比原生 codestyle 更好:)