Swift的轉(zhuǎn)場(chǎng)以及傳值小記

利用Segue進(jìn)行轉(zhuǎn)場(chǎng)傳值



正向跳轉(zhuǎn)

segue正向轉(zhuǎn)場(chǎng)是prepareForSegue

在源VC中->NavigationViewController在Segue的屬性中選擇show(Xcode7.2沒(méi)有show detail),會(huì)有返場(chǎng)btn,將VC push進(jìn)下一個(gè)場(chǎng)景。源VC中用prepareForSegue進(jìn)行設(shè)置,在方法中確定目的VC,然后對(duì)目的VC中的屬性進(jìn)行賦值或傳遞方法。

反向轉(zhuǎn)場(chǎng)

模態(tài)展現(xiàn)(modal)的視圖系統(tǒng)不提供返回按鈕。我們需要定義一個(gè)反向轉(zhuǎn)場(chǎng),可以用模態(tài)視圖退場(chǎng)。

在目的視圖定義這個(gè)函數(shù)

@IBAction func close(segue:UIStoryboardSegue){

里面放傳遞的數(shù)據(jù)

}

在跳轉(zhuǎn)VC中按control拖btn到exit,選擇close。

反向轉(zhuǎn)場(chǎng)用performSegueWithIdentifier.

btn拖到exit->出口執(zhí)行目的地VC中的自定義函數(shù)

@IBAction func close(segue:UIStoryboardSegue)

{

let sourceVC = segue.sourceViewController as 源VC

(獲取sourceVC中的對(duì)象或者數(shù)據(jù)后在destVC中進(jìn)行處理)

}

利用代理進(jìn)行跳轉(zhuǎn)傳值


A->B 例如A跳轉(zhuǎn)B

先確定代理協(xié)議protocol,確定需要傳遞的方法和值。

(代理的理解就是大哥太忙,有些東西小弟幫忙去實(shí)現(xiàn),協(xié)議就是需要完成內(nèi)容的書(shū)面介紹)

在小弟B中,首先要在類(lèi)中繼承協(xié)議protocol,再在類(lèi)中實(shí)現(xiàn)->協(xié)議內(nèi)容<-的實(shí)現(xiàn)。同時(shí)設(shè)定大哥A的代理為自身self。

在大哥A中,一般定義一個(gè)屬性繼承這個(gè)協(xié)議方便調(diào)用,在需要小弟干活的時(shí)候調(diào)用協(xié)議中定義的內(nèi)容尋找小弟,B即開(kāi)始執(zhí)行自身定義的方法。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容