SwiftUI 初始值设定项表观循环

SwiftUI initializer apparent circularity

TL:DR

在这个 View 初始化器中似乎存在先有鸡还是先有蛋的悖论。

代码

这种情况对我来说经常发生,所以我一定遗漏了一些关于 @State 的基本知识。也就是说,编译器似乎在说我无法设置 pickerIndex 直到 pickerIndex 已设置,并且我无法在不设置 pickerIndex.

的情况下退出初始化程序

LetterSelection 变量跟踪字母表中的一个字母,但我认为它的细节不相关。)

注意:最好提供代码"as code",这样更容易编辑

在所描述的情况下,它需要初始化的不是 属性 值,而是状态包装器本身,例如

self._pickerIndex = State(initialValue: sel.current.idx)