Быстрый цикл по всем UITextViews из UITableView - PullRequest
0 голосов
/ 18 мая 2018

Я сгенерировал TableView со списком элементов, которые я выбираю из API.В результате он показывает мне TableView с UILabel и UITextView.Код работает и дает мне желаемые результаты:

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell:FormCell = self.tableView.dequeueReusableCell(withIdentifier: "cell") as! FormCell
        cell.formLabel.text = (self.fetchedData[indexPath.section] as! String)
// id is available = (self.fetchedDataID[indexPath.section] as! String)
        return cell
    }

    class FormCell: UITableViewCell {
        @IBOutlet weak var formLabel: UILabel!
        @IBOutlet var formAnswer: UITextView!
    }

Но теперь я хочу отправить "ответы" на все данные формы ответа в UITextViews.Как этого добиться?

Результат, который я хочу POST для API, выглядит примерно так:

let params = [
    "id-of-": "theValueOfTheFormAnswer", // every Value of each UITextView 
] as [String : Any]

let requestURL = "/post-url"
let request = Alamofire.request(requestURL, method: .post, parameters: params, encoding: JSONEncoding.default, headers: nil)

1 Ответ

0 голосов
/ 18 мая 2018

Вы должны , а не попытаться извлечь все текстовые представления из всех ячеек из табличного представления - это определенно никогда не будет работать, потому что ячейки (и все их подпредставления) могут быть повторно использованы, поэтому данные изячейка, прокручиваемая вне экрана, будет потеряна навсегда.

Вместо этого вам придется хранить данные каждый раз, когда текстовое представление изменяется (или теряет фокус или что-то еще) в вашей модели данных.Как только пользователь завершит работу, вам просто нужно будет отправить данные модели в бэкэнд.

Установите делегат UITextViewDelegate и обновите модель одним из следующих способов:

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