2016-08-10 1 views
0

У меня есть главный контроллер представления таблицы со статическими ячейками, которые имеют название, а затем метку детали. Когда пользователь нажимает на «ячейку 1», их переводят во второй контроллер табличного представления со статическими ячейками. Они выбирают из списка (только одна ячейка может быть выбрана), а затем, когда они нажимают кнопку «Назад», все названия ячеек, которые они выбрали, переносятся на метку детали ячейки, на которую они нажали. Контроллер основного вида имеет выходы для каждой метки деталей. Я испортил его в течение двух дней и не могу заставить его работатьПередача выбранного заголовка строки обратно в главный контроллер представления таблицы

+0

В чем ваш вопрос? Что вы пробовали? Давайте посмотрим пример кода. Это очень расплывчато. – Rohan

+1

функ Tableview (Tableview: UITableView !, didSelectRowAtIndexPath indexPath: NSIndexPath) { Println ("! Вы выбрали сота \ (indexPath.row)") // Получить сотовый Ярлык пусть indexPath = tableView.indexPathForSelectedRow(); let currentCell = tableView.cellForRowAtIndexPath (indexPath!) Как UITableViewCell !; пусть раскадровку = UIStoryboard (название: "YourStoryBoardFileName", расслоение: ноль) вар ViewController = storyboard.instantiateViewControllerWithIdentifier ("viewControllerIdentifer"), как AnotherViewController viewController.passedValue = currentCell.textLabel.text –

+0

Я сожалею только начал изучать быстры –

ответ

0

Есть несколько способов решения этой проблемы.

  1. Использование делегата

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

    self.delegate.dataInputed (ххх)

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

  2. Отправить уведомление

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

+0

я забыли сказать, что я использовал разматывать также –

+0

эй Харри, пожалуйста, объясните с помощью одного примера, или вы также можете отправить ссылку для справки. Благодарю. – deltami

1

Добавить свойство delegate, которое является типом DismissDelegate, на ваш второй контроллер представления и установить его на первый контроллер. Добавить Этот протокол

protocol DismissDelegate { 
    func selectedCell(index : int) 
} 

Когда второй вид освобождается, например в методе viewWillDisapper, вызовите метод selectedCell и передать ему selectedCell

delegate.selectedCell(self.tableView.indexOfSelectedCell) //i don't know the correct function 

Затем в главном контроллере представления соответствуют протоколу и делать все, что вам нужно сделать с индексом

func selectedCell(index : int) { 
    //whatever you need to do with the index 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^