方式一:屬性傳值
A頁面的值跳轉(zhuǎn)到B頁面之后把值傳給B頁面野哭,只需要在.h文件定義屬性挂滓,A頁面再跳轉(zhuǎn)之前賦值給B頁面的實例對象屬性即可妆档。
A頁面(FirstViewController)部分代碼:
在FirstViewController.m的button點擊跳轉(zhuǎn)方法中
B頁面為TextFieldViewController膀懈,inputTextF就是B頁面的屬性富岳。是不是很簡單入篮?這種傳值方式一般用于正向傳值給跳轉(zhuǎn)界面陈瘦。
方式二:代理傳值
首先在跳轉(zhuǎn)界面B.h文件定義代理協(xié)議方法:
在B.m中頁面消失方法中實現(xiàn)委托:
在A.m中遵守協(xié)議,實現(xiàn)協(xié)議方法潮售,即傳遞了B頁面的背景色給A頁面:
協(xié)議方法:
代理方法多用于反向傳值痊项,即跳轉(zhuǎn)界面?zhèn)髦捣祷亟o上個界面锅风。
方法三:通知傳值
誰要監(jiān)聽值的變化,誰就注冊通知鞍泉。
A頁面要監(jiān)聽B頁面textfield的值的變化遏弱,那么他就在初始化方法里注冊通知:
當B頁面的textfield的值發(fā)生變化時A頁面就會執(zhí)行change方法:
在B頁面消失方法中推送一個通知,相當于定義一個標識把值傳給該標識通知的注冊者:
通知傳值是一對多的關(guān)系塞弊,一般用于跳轉(zhuǎn)界面?zhèn)髦到o上一界面漱逸。
方式四:單例傳值
新建一個繼承NSObject的類:
在.h文件里聲明一個屬性和一個類方法:
在.m文件實現(xiàn)類方法,初始化:
在B頁面消失方法里:
在A頁面即將出現(xiàn)方法里:
單例方法其實就是一個只會初始化一次游沿,然后給他賦值共享的一個單例饰抒,該方法適合正向和反向傳值,但是不要濫用诀黍。
方式五:block傳值
B頁面?zhèn)髦到o上一頁面A:
在B頁面定義一個block:
定義聲明一個方法(方便系統(tǒng)識別袋坑,提高開發(fā)效率):
B頁面消失方法里:
在A頁面跳轉(zhuǎn)按鈕方法里:
block其實是異步的高級傳值方式,適用于傳值給上一頁面眯勾。
博主的微博枣宫、CocoaChina博客、CSDN博客同步更新吃环,歡迎關(guān)注:
新浪微博:http://weibo.com/p/1005052308506177/home?from=page_100505_profile&wvr=6&mod=data&is_all=1#place
CocoaChina:http://blog.cocoachina.com/477998
CSDN:http://blog.csdn.net/czkyes