利用Segue進行轉(zhuǎn)場傳值
正向跳轉(zhuǎn)
segue正向轉(zhuǎn)場是prepareForSegue
在源VC中->NavigationViewController在Segue的屬性中選擇show(Xcode7.2沒有show detail)甩牺,會有返場btn,將VC push進下一個場景。源VC中用prepareForSegue進行設置恼五,在方法中確定目的VC本昏,然后對目的VC中的屬性進行賦值或傳遞方法愁拭。
反向轉(zhuǎn)場
模態(tài)展現(xiàn)(modal)的視圖系統(tǒng)不提供返回按鈕橡淑。我們需要定義一個反向轉(zhuǎn)場傲绣,可以用模態(tài)視圖退場东帅。
在目的視圖定義這個函數(shù)
@IBAction func close(segue:UIStoryboardSegue){
里面放傳遞的數(shù)據(jù)
}
在跳轉(zhuǎn)VC中按control拖btn到exit压固,選擇close。
反向轉(zhuǎn)場用performSegueWithIdentifier.
btn拖到exit->出口執(zhí)行目的地VC中的自定義函數(shù)
@IBAction func close(segue:UIStoryboardSegue)
{
let sourceVC = segue.sourceViewController as 源VC
(獲取sourceVC中的對象或者數(shù)據(jù)后在destVC中進行處理)
}
利用代理進行跳轉(zhuǎn)傳值
A->B 例如A跳轉(zhuǎn)B
先確定代理協(xié)議protocol靠闭,確定需要傳遞的方法和值帐我。
(代理的理解就是大哥太忙,有些東西小弟幫忙去實現(xiàn)愧膀,協(xié)議就是需要完成內(nèi)容的書面介紹)
在小弟B中焚刚,首先要在類中繼承協(xié)議protocol,再在類中實現(xiàn)->協(xié)議內(nèi)容<-的實現(xiàn)扇调。同時設定大哥A的代理為自身self矿咕。
在大哥A中,一般定義一個屬性繼承這個協(xié)議方便調(diào)用狼钮,在需要小弟干活的時候調(diào)用協(xié)議中定義的內(nèi)容尋找小弟碳柱,B即開始執(zhí)行自身定義的方法。