gpt4 book ai didi

swiftui - 在 SwiftUI View 中处理 Optionals/nil 值 - 在 SwiftUI 中使用 if let

转载 作者:行者123 更新时间:2023-12-04 09:56:29 24 4
gpt4 key购买 nike

<分区>

View 通常不允许可选参数值,导致类似 Initializer 'init(_:)' requires that 'String?' 这样的错误符合 'StringProtocol':

struct Person {
var name : String
}

struct OptionalsExampleView: View {

var person : Person? = Person(name: "Bob")

var body: some View {
VStack() {
Text("Name:")
Text(person?.name)
}

}
}

不幸的是,从 Xcode 11.4/iOS 13 开始,View Builder block 中不允许使用 if let 语句,这会导致像 Closure containing control flow statement cannot be used with function builder 这样的错误'ViewBuilder':

struct OptionalsExampleView: View {

var person : Person? = Person(name: "Bob")

var body: some View {
VStack() {
if let person = person { // <-- not allowed
Text("Name:")
Text(person?.name)
}
}

}
}

(我知道这个问题已经被回答过很多次了。我写了这个问题并自己回答了它是为了有一篇比现有文章更简洁的简短概述文章,这样我就可以在需要的地方链接到它这个问题出现了)。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com