Многоразовый UIView для заполнения общей информации о элементах массива - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь разработать приложение, которое может отслеживать некоторую информацию из элементов массива. например: array = ["Anna", "Charles", "Simon", "Criss"].

Я создал UITable View и хочу иметь возможность, когда я нажимаю на Имя, откройте новый вид и заполните следующую информацию. Адрес: Возраст: Хобби:

Я новичок в Swift и не знаю, как создать это представление. Спасибо за помощь!

1 Ответ

0 голосов
/ 05 августа 2020

На tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) вы можете открыть UIAlertController и получить эту информацию. Например, у вас есть массив

let dataArray =  ["Anna", "Charles", "Simon", "Criss"]
 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        let alertController = UIAlertController(title: "Give title here", message: "", preferredStyle: .alert)
        
        alertController.addTextField { (textField : UITextField!) -> Void in
            textField.placeholder = "Enter Name"
            textField.text = self.dataArray[indexPath.row]
        }
        
        alertController.addTextField { (textField : UITextField!) -> Void in
            textField.placeholder = "Enter Address"
        }
        alertController.addTextField { (textField : UITextField!) -> Void in
            textField.placeholder = "Enter Age"
        }
        alertController.addTextField { (textField : UITextField!) -> Void in
            textField.placeholder = "Enter Hobbies"
        }
        
        let saveAction = UIAlertAction(title: "Save", style: .default, handler: { alert -> Void in
            // TODO:- You will get that informaton here
            let first = alertController.textFields![0] as UITextField
            let second = alertController.textFields![1] as UITextField
            let third = alertController.textFields![2] as UITextField
            let fourth = alertController.textFields![3] as UITextField
            
        })
        
        let cancelAction = UIAlertAction(title: "Cancel", style: .default, handler: nil )
        
        
        
        alertController.addAction(saveAction)
        alertController.addAction(cancelAction)
        
        self.present(alertController, animated: true, completion: nil)
 }

. Когда вы нажмете save, вы получите эту информацию в закрытии.

введите описание изображения здесь

...