現(xiàn)在有一個(gè)需求:從AViewController跳到BViewController台诗,B里面用戶輸入一個(gè)內(nèi)容棠众,但是這個(gè)輸入的值同時(shí)需要用來修改A的界面
其實(shí)簡單地用一個(gè)閉包回調(diào)就可以實(shí)現(xiàn)
AViewController
let a = BViewContoller()
a.mSaveCallback = {
(result) in
update(result) //通過result更新界面
}
self.navigationController?.pushViewController(a, animated: true)
BViewController
typealias SaveCallback = (result:String)->Void //聲明一個(gè)回調(diào)
var saveCallback:SaveCallback? //回調(diào)作為參數(shù)
func afterEdit(){
saveCallback(result) //得到結(jié)果后調(diào)用閉包
}