Создать PushRow в существующем разделе и передать значение во время выполнения - PullRequest
0 голосов
/ 05 октября 2018

Как динамически создавать PushRow и передавать значение из функции alamofire.Это моя функция alamofire, и я хочу создать pushRow с ответом alamofire

nw.getJsonData(api: Api.assetCategory) { (response, error) in

}

func createPushRow(_ title: String, _ placeholder: String, _ options: [String]) {
    form +++ Section("Choose " + title)
        <<< PushRow<String>() { row in
            row.title = title.lowercased()
            row.selectorTitle = "Pick " + title.lowercased()
            row.options = options
    }
}

1 Ответ

0 голосов
/ 02 ноября 2018

Вы можете просто изменить параметры PushRow следующим образом:

(form.rowBy(tag: "<tagOfRow>") as? PushRow<String>)?.options = ["??", "?", "??"]

Или вы можете установить optionsProvider в инициализаторе строки на lazy и получать параметры каждый раз, когдаPushRow выбран.

form +++ Section("Choose " + title)
    <<< PushRow<String>() { row in
            row.optionsProvider = .lazy({ (formViewController, completion) in
                // Call Alamofire to get options
                // options = ...
                completion(options)
            })
            // .... other set up
        }
...