У меня есть два UICollectionViewControllers, а первый использует push-сег, чтобы перейти ко второму. Проблема, с которой я столкнулась, - передать информацию обратно первому контроллеру, когда на втором контроллере нажата кнопка «Назад» (тот, который добавляется автоматически). Я пробовал использовать функции segueForUnwindingToViewController
и canPerformUnwindSegueAction
, но не кубики. Мне нужно иметь доступ к обоим контроллерам, поэтому я могу установить некоторые переменные. Есть идеи?Передача информации между UICollectionViewControllers через unind segues
ответ
Ниже приведен пример с двумя контроллерами. Предположим, что имена двух контроллеров представления и ViewController и SecondViewController. Давайте также скажем, что от SecondViewController до ViewController есть развязка. Мы передадим данные из SecondViewController в ViewController. Во-первых, давайте установим идентификатор этого сеанса, открыв контур документа и выбрав разматывание segue. Затем откройте инспектор атрибутов и установите идентификатор для «размотки».
SecondViewController Code:
class SecondViewController: UIViewController
{
override func prepareForSegue(segue: UIStoryBoardSegue, sender: AnyObject?) {
if let identifier = segue.identifier {
if let destination = segue.destinationViewController as? ViewController {
if identifier == "unwind" {
destination.string = "We Just Passed Data"
}
}
}
}
}
ViewController Code:
class ViewController: UIViewController {
var string = "The String That Will Be We Just Passed Data"
@IBAction func unwindSegue(segue: UIStoryBoardSegue) {
}
}
Это звучит, как вы пытаетесь перехватить кнопку назад, есть много сообщений для этого на SO, здесь два:
Setting action for back button in navigation controller
Trying to handle "back" navigation button action in iOS
На практике это более ясно, чтобы вернуть состояние в закрытие (более современное) или делегатов.
- 1. Передача данных через unind segue
- 2. Передача данных между segues без использования PrepareForSegue
- 3. Передача информации между базой данных через JSON
- 4. Передача информации между видами
- 5. Передача информации между методами
- 6. Передача данных между 2 видами без segues
- 7. Передача данных между контроллерами просмотра БЕЗ segues
- 8. Передача данных между контроллерами View - Storyboards segues
- 9. Передача переменных между раскадровки без Segues - Swift
- 10. Передача информации через viewmodels
- 11. Передача информации через Segue
- 12. Передача информации через формы
- 13. Передача информации между формами
- 14. Передача информации между кнопками
- 15. Swift 2 - Протокол Делегат между двумя UICollectionViewControllers
- 16. Передача информации через намерение putExtra
- 17. Powershell Передача информации через трубопровод
- 18. Передача информации через JSF FacesContexts
- 19. Передача информации через открытый график
- 20. Segues и передача данных между представлениями пользовательского интерфейса. [Map Kit]
- 21. Передача информации между страницами JSF
- 22. Передача информации между несколькими действиями
- 23. Передача информации между окнами ASP.net
- 24. Передача информации между методами JavaScript
- 25. unind segue/performSegueWithIdentifier: проблемы
- 26. Передача выбранных строк между ViewControllers и условными segues в Swift
- 27. Передача данных вместе с segues
- 28. Стойкость через Segues
- 29. Segues между контроллерами View
- 30. Segues между gameScene.sks
Почему бы не использовать prepareForSegue и использовать его для установки некоторых переменных? –