Я строю форму Swiftui, где я использую Textfield с дополнительными привязками. Вот упрощенная версия того, что я имею: < /p>
Код: Выделить всё
import SwiftUI
struct ContentView: View {
@State private var name: PersonNameComponents? = nil
@State private var age: Int? = nil
@State private var password: String? = nil
var body: some View {
NavigationStack {
List {
TextField("Enter your full name", value: $name, format: .name(style: .medium))
TextField("Enter your age", value: $age, format: .number)
// This line doesn't compile
TextField("Enter your password", value: $password, format: )
}
}
}
}
Как вы можете видеть, я использую необязательные @state переменные для имени , возраст и пароль . Первые два работают отлично, потому что .name (style

и .number являются действительными PaclesableFormatstyles для их соответствующих типов. Тем не менее, я попадаю в стену, когда дело доходит до третьего текстового поля .
Я хочу сохранить пароль в качестве дополнительной строки (
) и используйте Textfield (_: значение: Format

инициализатор, но, похоже, не существует встроенной структуры ParsableFormatstyle , который работает со String .
Я видел решения, которые используют Textfield (_

с помощью неопредвзятой строки (_:
), или даже обходные пути, используя пользовательскую привязку с помощью get: и set: закрытие. Тем не менее, я действительно хотел бы избежать этих подходов ради последовательности и простоты, так как я хочу, чтобы это работало так же, как и два других поля.>
Подробнее здесь:
https://stackoverflow.com/questions/795 ... bleformats