Отправить данные из таблицы в выпадающее меню - PullRequest
0 голосов
/ 08 января 2019

У меня есть представление контроллера вкладок, где я вводю тип и регистрацию самолетов, и оно сохраняет его как ячейку в табличном представлении.

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

В настоящее время информация, которая заполняет ячейку представления таблицы в раскрывающемся меню, является просто массивом, который я определяю и вставляю в информацию, но я хочу, чтобы она могла получать информацию, поступающую из другого представления с типом плоскостей и rego в клетке.

Таким образом, ячейка из другого вида с типом и регио и тем, сколько их будет, появится в раскрывающемся меню и покажет плоскость в качестве опции, которую нужно нажать.

Это код, который я использую для сохранения информации о плоскости в отдельном виде контроллера вкладок.

var planeArray:[Planes] = []

var context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext

func savePlane(alert: UIAlertAction) {

    if typeField?.text != "" || regoField?.text != "" {

        let newLog = NSEntityDescription.insertNewObject(forEntityName: "Planes", into: context)
        newLog.setValue(self.typeField?.text, forKey: "type")
        newLog.setValue(self.regoField?.text, forKey: "rego")

        do{
            try context.save()
        }
        catch {
            print(error)
        }

        //Making the table update itself when user logs the plane
        self.fetchData()
        self.tableView.reloadData()

    }
    print("Plane Saved")
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! CustomTableViewCell
    let plane = planeArray[indexPath.row]
    cell.typeAnswer.text = plane.type
    cell.regoAnswer.text = plane.rego
    return cell
}

И мне было интересно, как я взял бы тип и регу каждой строки и отобразил бы ее как информацию в выпадающем меню в другом виртуальном канале, чтобы, если пользователь добавит больше самолетов, они появятся в виртуальном канале, и если они удалить, они будут взяты из выпадающего меню.

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

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = UITableViewCell() 
    cell.backgroundColor = UIColor.init(fromHexCode: "4FB7F1")
    cell.textLabel?.text = dropDownOptions[indexPath.row]
    return cell
}
...