簡單實現(xiàn)代理模式

一赡艰、簡單說明
用storyboard 創(chuàng)建兩個ViewController:A笙瑟,B

屏幕快照 2016-06-16 下午5.32.04.png

注:每個VC上都有一個button亮钦,一個label盏求,一個textFiled

A界面上在textFiled里輸入“我是A”文本后蛤吓,點擊“go to B”按鈕宵喂,跳轉(zhuǎn)到B界面,B界面上label上顯示“我是A”会傲。同理B界面上同樣的操作后锅棕,返回A界面上顯示B的textFiled輸入的文本,這是返回值就需要用代理來實現(xiàn)淌山。

二裸燎、代理的實現(xiàn)過程
1、在BViewController.swift里寫代理

protocol Delegate {

func backWords(words:String)

}

2艾岂、在BViewController.swift再聲明一個代理屬性

//代理屬性
var  delegate:Delegate?

3顺少、在AViewController.swift實現(xiàn)代理的方法
在實現(xiàn)方法前,一定要先引用代理

  class AViewController: UIViewController,Delegate {}

實現(xiàn)代理方法

/**
 實現(xiàn)代理方法
 */

func backWords(words: String) {
    
     self.showTextLabel.text = words
    self.bVC?.navigationController?.popViewControllerAnimated(true)
}

4王浴、在A界面跳轉(zhuǎn)到B界面時脆炎,A把自己給代理屬性

   /**將自己給代理*/
  self.bVC!.delegate = self

三、源代碼附上
1氓辣、AViewController.swift

import UIKit

class AViewController: UIViewController,Delegate {

var bVC:BViewController?
/// 輸入要傳給B的值
@IBOutlet weak var talkToBVC: UITextField!
/// 顯示B返回的值
@IBOutlet weak var showTextLabel: UILabel!
/**
 實現(xiàn)代理方法
 */
func backWords(words: String) {
    
     self.showTextLabel.text = words
    self.bVC?.navigationController?.popViewControllerAnimated(true)
}
/**
 捕獲跳轉(zhuǎn)
 */
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "jump"{
        /**
         強制轉(zhuǎn)換目標VC為BViewController類型
         */
        self.bVC = segue.destinationViewController as? BViewController
        /**
         將自己給代理
         */
        self.bVC!.delegate = self
        /**
         將A說的在B上顯示
         */
        self.bVC!.wordsFromA = self.talkToBVC.text

        
    }
    
}


override func viewDidLoad() {
    super.viewDidLoad()
    
    
    
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()

}

}

2秒裕、BViewController.swift

import UIKit

protocol Delegate {

func backWords(words:String)

}

class BViewController: UIViewController {

var wordsFromA: String!

@IBOutlet weak var showWordSFromA: UILabel!

//代理屬性
var  delegate:Delegate?

//跟AViewController要說的話
@IBOutlet weak var talkToA: UITextField!

/**
 點擊Button后觸發(fā)事件,跳轉(zhuǎn)到A界面钞啸,并把textField里的文本几蜻,傳回給A,并在A界面顯示
 */
@IBAction func goToA(sender: AnyObject) {
   
    /**
     調(diào)動代理方法  實現(xiàn)傳值
     */
    self.delegate?.backWords(self.talkToA.text!)
    
    
}

override func viewDidLoad() {
    super.viewDidLoad()
    
   self.showWordSFromA.text = self.wordsFromA
    
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    
}
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末体斩,一起剝皮案震驚了整個濱河市梭稚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌絮吵,老刑警劉巖弧烤,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蹬敲,居然都是意外死亡暇昂,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門伴嗡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來急波,“玉大人,你說我怎么就攤上這事瘪校〕文海” “怎么了?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長赏寇。 經(jīng)常有香客問我吉嫩,道長,這世上最難降的妖魔是什么嗅定? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任自娩,我火速辦了婚禮,結(jié)果婚禮上渠退,老公的妹妹穿的比我還像新娘忙迁。我一直安慰自己,他們只是感情好碎乃,可當我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布姊扔。 她就那樣靜靜地躺著,像睡著了一般梅誓。 火紅的嫁衣襯著肌膚如雪恰梢。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天梗掰,我揣著相機與錄音嵌言,去河邊找鬼。 笑死及穗,一個胖子當著我的面吹牛摧茴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播埂陆,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼苛白,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了焚虱?” 一聲冷哼從身側(cè)響起购裙,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鹃栽,沒想到半個月后躏率,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡谍咆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年禾锤,在試婚紗的時候發(fā)現(xiàn)自己被綠了私股。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片摹察。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖倡鲸,靈堂內(nèi)的尸體忽然破棺而出供嚎,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布克滴,位于F島的核電站逼争,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏劝赔。R本人自食惡果不足惜誓焦,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望着帽。 院中可真熱鬧杂伟,春花似錦、人聲如沸仍翰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽予借。三九已至越平,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間灵迫,已是汗流浹背秦叛。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留龟再,地道東北人书闸。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像利凑,于是被迫代替她去往敵國和親浆劲。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容