Intereting Posts
Swift – функция как переменная с самоналожением Пользовательский шрифт SKlabelNode Как добавить subviews в UIScrollView последовательно Почему использование dispatch_async настолько медленное, что не использует его вообще? Вкладки под панелью навигации в iOS Ошибка Google Analytics с помощью Swift 2.0 UITableView setEditing не показывает кнопку удаления Xcode / ItunesConnect: возможно ли удалить цель набора часов и добавить его обратно или не отправить приложение Watchkit? Можно ли одновременно использовать Xcode и Adobe Flex? TWTRLogInButton (кнопка входа в Twitter) задает заголовок, вызывает перекрытие текста Xcode не смог найти метод NSObject – Objective C Добавить изображение на мою кнопку в ios is blue Swift – Как использовать интеграцию SwiftValidator в мой проект Как сохранить пользовательский объект в sqlite с помощью объектного c Как создать новую учетную запись без увольнения в Firebase? в iOS (Swift)

Как получить данные, отображаемые в ячейке TableView, и отобразить их в текстовом поле?

У меня есть tableView в контроллере представления, где я выводю данные из вызова API, теперь, если пользователь выбирает ячейку tableview (скажем, строку 2 в TableView), я хочу получить эти данные (данные в строке 2 TableView) и отобразить это в текстовом поле на одном экране. Каков наилучший способ сделать это?

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

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { let cell= tableView1.cellForRow(at: indexPath) if let txtVal = cell?.textLabel?.text { textField.text = txtVal } } 

Самый простой способ – показать, как UIAlertController с textField на didSelect tableViewCell.

 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { let alert = UIAlertController(title: "Edit Data", message: "Edit corresponding detail", preferredStyle: .alert) alert.addTextField { (textField) in textField.placeholder = "Enter name" textField.text = yourArray[indexPath.row] } alert.addAction(UIAlertAction(title: "Edit", style: .default, handler: { (action) in //Edit data on array })) alert.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil)) self.present(alert, animated: true) } 

У вас есть данные из webservice, которые вы показываете в своем UITableview, например, arrWebServiceData . и у вас есть индекс строки, где пользователь нажал на index . arrWebServiceData способ – получить данные из arrWebServiceData по index и использовать его для отображения в тестовом поле.

например:

NSArray * arrWebServiceData; // вы храните данные от Wevserice здесь.

func tableView (_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

  let index = indexPath.row; let dataAtIselectedIndex = yourArray[indexPath.row] ; //If data is string, dirctly display it on text field,or if its dictionary, set object of diction on your text field. }