2016-12-17 1 views
0

Так что я знаю, как делать делегаты и передавать их, готовясь к segue; однако у меня есть 3 вида (давайте назовите их A, B & C). Вид соединения CONNECT для просмотра B. View B есть кнопка, которая приводит к просмотру C. В View C, есть переключатель, который переключает ...передать делегат от одного VC к другому с помощьюOut using prepareForSegue

вид соединения: A-> B-> C

I хотите сделать это, когда переключатель переключается в View C, View A знает об этом. без использования KVO, так как отношение все еще 1-к-1

+0

Тот же вопрос задавался много раз для Objective-C и Swift. Я не вижу смысла продолжать старую военную историю снова и снова. –

+0

Я решил пойти с КВО; так как кажется, слишком много работы для передачи моего делегата от VC-A до VC-B, а затем от VC-B до VC-C. а затем использовать делегат VC-C для изменения данных в VC-A. –

ответ

0

Вы можете скрыть замыкание A-> B-> C, вызвать замыкание в View C, когда переключатель переключится и передать любую информацию, которую вы хотите закрыть сообщить View A.

0

в СВУ

let vcB = storyboard.instantiateViewControllerWithIdentifier("VCB") as VCB 
vcB.myDataB = "set my data" 
navigationController?.pushViewController(vcB,animated: true) 

в VCB создать свойство

var myDataB : String! 

Теперь в VCB толкать VC

let vcC = storyboard.instantiateViewControllerWithIdentifier("VCC") as VCC 
    vcC.myDataC = myDataB 
    navigationController?.pushViewController(vcC,animated: true) 

Теперь, VCC, создать свойство,

var myDataC : String! 

Теперь ваши данные, которые в СВУ в VCC со свойством myDataC, вы можете использовать эти данные в соответствии с вашими потребностями.

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