當我使用代碼 - (IBAction)onClick1:(id)發件人; (我的意思是我使用了代碼sender.tag,它沒有返回)。 )buttonTouched1:(UIButton *)sender;這裏發件人應該充當對象ID。IBaction上的發件人
3
A
回答
4
的sender
變量通常是發送動作消息的對象(這是不完全保證 - 例如,你可以自己發送一個動作消息,並通過任何你想要的 - 但是這它應該如何工作)。
您不能只在這些方法中寫入sender.tag
,因爲點符號要求對象具有靜態類型,以便編譯器知道該屬性對應的消息。如果你改爲寫[sender tag]
,它會起作用。
6
發件人通常是將調用onClick1消息的對象。例如,如果您有一個按鈕,並且您將 - (IBAction)onClick1:(id)發件人信息與按鈕的「touch up inside」事件相關聯,那麼當您點擊該按鈕時,代表該按鈕的對象將被傳遞到onClick1:
-(IBAction)onClick1:(id)sender
{
UIButton *button = (UIButton*)sender;
NSLog(@"%@", button);
}
相關問題
- 1. - (IBAction)oneButton1:(id)發件人
- 2. 實際區別 - (IBAction)pushClear:(id)發件人和 - (IBAction)pushClear:(NSButton)發件人
- 3. 自我IBAction爲和發件人
- 4. 什麼是在(IBAction)行動中的(id)發件人:(id)發件人;
- 5. IBAction委託人
- 6. 爲什麼LLDB不能打印IBAction的發件人參數?
- 7. - (IBAction)doSomething:(id)一般使用的發件人模型
- 8. 中斷或驗證發件人的行爲IBAction
- 9. iOS:在IBAction聲明中包含發件人?
- 10. 將發件人作爲id或特定類別投給IBAction
- 11. UIBarButtonItem不觸發IBAction
- 12. UIView.label上的Swift/IBAction/CGRect
- 13. 如何以編程方式使用ID發件人調用IBAction方法?
- 14. iPhone開發 - IBAction爲和@property
- 15. Postfix的非上市發件人
- 16. IBAction事件的含義
- 17. 爲什麼NavigationViewController上的酒吧按鈕項不會觸發IBAction
- 18. 在IBAction上創建標籤
- 19. UIViewController裏面的UIViewController - IBAction沒有觸發
- 20. Rails delayed_jobs在發送郵件時詢問「發件人/發件人」
- 21. IBAction在另一個IBAction上執行操作
- 22. (發件人:TObject)
- 23. 如何在發件人上覆用?
- 24. 爲什麼 「(UIButton的*)發件人」,而不是 「的UIButton *發件人」?
- 25. 添加IBAction從我的應用程序發送電子郵件
- 26. 按鈕崩潰的應用程序與(發件人)發件人
- 27. MailMessage,發件人和發件人屬性之間的區別
- 28. IBAction函數上的多個參數
- 29. 發送消息所需的發件人(返回路徑,發件人或發件人)
- 30. 可變的IBAction
如果你只是記錄它,你不需要給發送者一個靜態類型,而且你也不需要明確地施放它。如果你打算把發件人當作UIButton,那麼你可以將參數作爲UIButton輸入,而不是創建一個多餘的額外變量。 – Chuck 2010-11-15 07:06:54
@Chuck是的,如果唯一的目的是記錄,那麼就沒有必要投。我只展示瞭如何獲取發件人的底層對象。雖然在這種情況下沒有必要將發件人強制轉換爲UIButton,但轉換將導致更清晰和更易讀的代碼。 – galexyus 2010-11-15 08:29:04