Eureka-ios: Как изменить $ 0-опций с помощью if - PullRequest
0 голосов
/ 09 мая 2019

Мне нужно изменить параметры строки в соответствии с другой строкой, которую выбрал пользователь.

Я использую этот код, и он не изменился.

<<< PushRow<String>(kEncryption) {
                $0.title = "Encryption"
                if let r1 : PushRow<aType> = form.rowBy(tag: kProxyFormType), let a = r1.value?.isA, let b = r1.value?.isB {
                        print(a)
                        if (a) {
                            $0.options = ["1","2","3"]
                        }
                        else if (b) {
                            $0.options = ["4","5","6"]
                        }
                    }

Что бы я ни изменил строку aType, кнопка всегда будет пустой.
Я добавляю функцию печати и добавляю, что эта функция вообще не вызывается.
Как я могу изменить этот код, чтобы он работал?

1 Ответ

1 голос
/ 09 мая 2019

И наоборот, измените параметры PushRow<String> в onChange закрытии PushRow<aType>, что-то вроде

<<< PushRow<aType>(kProxyFormType) { 
   ...
}.onChange { row in 
    if let encryptionRow = self.form.rowBy(tag: kEncryption) as? PushRow<String> {
       if row.value?.isA {
           encryptionRow.options = ["1","2","3"]
       } else if row.value?.isB {
           encryptionRow.options = ["4","5","6"]
       }
    }
}
...