【发布时间】:2021-06-06 06:58:05
【问题描述】:
我正在开发 iOS 应用程序。
我很好奇 if {} else {} 条件如何与 SwiftUI 视图一起使用。
import SwiftUI
struct SomeView: View {
let condition: Bool
var body: some View {
if condition {
...
} else {
...
}
}
}
我想知道否定条件下的代码是否甚至被if条件生成但禁用?如果是这样,是否可以构建只生成满足特定条件的代码的视图?用 Lambda 的?
我是 Swift 新手,任何示例都会有所帮助 谢谢!
【问题讨论】:
-
我想说,既然是闭包,那么整个代码都被编译了,但是在运行时,当调用闭包构建视图时,只执行
if的相关分支(取决于condition)。 -
@D.Mika 上面的代码不包含闭包或任何将被编译为闭包的东西。
-
@idmean
View后面的部分是闭包。 -
@D.Mika 不,这是一个计算属性而不是闭包。见the
bodyproperty in View。闭包是可以传递的值。函数计算body无法获取和传递,所以它不是闭包。 -
@idmean:你是对的。我的错。