討論。這是更優選的:IBAction按鈕按
與發送者A單一IBAction爲和一堆if語句 例如:if (sender == self.whichbuttonpressed)
或
單個IBAction爲與發送方和switch語句 例如:switch (send.tag)
//短手以便於閱讀
或
對每個按鈕的IBAction。
討論可以說我們在XIB文件中有6個或更少的按鈕。
感謝
PS使我相信你的奶奶正在看你的反應所以沒有嘲諷請,是真實的。
討論。這是更優選的:IBAction按鈕按
與發送者A單一IBAction爲和一堆if語句 例如:if (sender == self.whichbuttonpressed)
或
單個IBAction爲與發送方和switch語句 例如:switch (send.tag)
//短手以便於閱讀
或
對每個按鈕的IBAction。
討論可以說我們在XIB文件中有6個或更少的按鈕。
感謝
PS使我相信你的奶奶正在看你的反應所以沒有嘲諷請,是真實的。
我更喜歡使用標籤,所以
單IBAction爲與發件人和switch語句前:開關(send.tag)//人手不夠,爲便於閱讀
最後的辦法如果針對不同按鈕的動作顯着不同,則是合理的
你的實現依賴於你的應用程序,但考慮到這個..
說你是實施數字鍵盤,10個鍵(0-9)。按下每個按鈕時唯一的區別是數字代表。所以,如果你每個按鈕的標籤設置爲數字值的按鈕應該代表,處理10個按鈕與一個IBAction爲方法變得微不足道:
-(IBAction)buttonPress:(id)sender { UIButton *b = (UIButton *)sender; int value = b.tag; // Do something with value... }
我已經用這種方法適用於各種情況下單視圖包含許多按鈕,這些按鈕基本上都是做同樣的事情,但可以通過爲每個按鈕分配一個唯一的標記而在幕後進行區分。
如果您有許多按鈕的視圖,但它們彼此不相關,那麼每個按鈕都應該有它自己的IBAction方法。在這種情況下這樣做可以讓每個按鈕的操作的獨特實現更具可讀性和可維護性。
我其實是你列出的第二和第三個。標籤肯定比一堆if語句更容易使用。如果我在一個視圖上有一堆完全不相關的按鈕,我通常使用單獨的IBActions。如果它們彼此相關,那麼我使用1 IBAction,所以我不必重複自己。
實施例:
作爲一個詼諧自負的智能屁股,我特此告訴你:「堆棧溢出是專業和愛好者程序員」。你的祖母是專業的程序員嗎? – Kheldar
誰首選?不同的結構在不同的情況下是有意義的,使用與你的用例最匹配的結構。 – codelark
我很高興你認出你自己。謝謝。 – axe