2011-03-07 34 views
0

嘿傢伙, 任何人都可以解釋我什麼(id)發送者的意思是?我在很多動作中看到過它,我不知道如何設置此發件人ID。(id)sender iPhone解釋

- (IBAction)publishStream:(id)sender { 
    // do something 
} 

此外,你能告訴我如何在代碼中設置此發件人ID嗎?

謝謝,乾杯,doonot

回答

5

'id'是一種類型 - 具體來說,它是指向對象的無類型指針的類型。類型'id'的變量可以指向任何objective-c對象。在IBAction的情況下,通常有一個名爲'sender'的參數是發送操作的對象。任何類型的對象都可以發送動作,所以'sender'參數的類型是'id'。

3

使用,你可以重新定向幾種UI「小部件」,以相同的處理函數。然後,您可以使用「發件人」來了解哪個人生成了該消息。

2

一個ID基本上是一個空白類型,所以它是任何類型的對象調用它,我不相信你實際設置發送者,它只是對象。所以說一個UIButton稱爲我的IBAction,那麼無論UIButton發生什麼都將是發送者。

0

實際上,sender是調用事件的Control。 like, 如果您觸摸按鈕並且您已附加到您的方法。 那麼這個按鈕將在這裏發送。

+0

sender _may_是一個指向控件的指針,這是典型的情況,但它也可以是指向任何其他對象的指針。 – Caleb 2011-03-08 01:00:06