Не удалось заполнить атрибут Swift во время структуры init - PullRequest
2 голосов
/ 04 мая 2020

У меня есть следующий код.

По какой-то причине, когда я инициализирую класс VerifyPhoneView, он правильно печатает validID, но self.verificationID остается пустой строкой.

Что может быть вызывая это?

struct VerifyPhoneView: View {

    private var phoneNumber: String
    @State private var verificationID: String = ""

    init(phoneNumber: String, verificationID: String) {
        self.phoneNumber = phoneNumber

        print ("Initializer, verificationID: " + verificationID)

        self.verificationID = verificationID
        print ("Initializer, self.verificationID: " + self.verificationID)
    }
}

1 Ответ

2 голосов
/ 04 мая 2020

В этом случае значение по умолчанию для состояния не требуется. Вот решение:

struct VerifyPhoneView: View {

    private var phoneNumber: String
    @State private var verificationID: String    // << here !!
    ...
    init(phoneNumber: String, verificationID: String) {
        self.phoneNumber = phoneNumber

        print ("Initializer, verificationID: " + verificationID)

        _verificationID = State(initialValue: verificationID) // << here !!
        print ("Initializer, self.verificationID: " + self.verificationID)
    }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...