使用NSNotification傳遞參數

今天使用NSNotification在界面之間傳遞參數。開始的寫法如下:


NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("wordChanged"), name: "wordChanged", object: nil)


func wordChanged(){
      
            input.text = “changed!"
        
    }

如上做法傳遞消息是可以了,但是我還想給這個消息傳遞參數,所以我修改成如下:

NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("wordChanged"), name: "wordChanged", object: nil)


func wordChanged(ns:NSNotification){
        if let name: AnyObject = ns.userInfo?["name"]{
            input.text = name as String
        }
    }

編譯成功之後,一運行就死機,反覆的調試,以及在網絡上搜索,終於明白問題所在,即把selector: Selector("wordChanged")修改爲selector: Selector("wordChanged:")即可,注意到沒有,僅僅是增加了一個冒號,最終代碼如下:

NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("wordChanged:"), name: "wordChanged", object: nil)

有時候小問題也挺折磨人的,呵呵。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章