2013-03-14 75 views
0

如果我將子類UIButton並使用它的buttonWithType:方法創建button,它會返回一個UIButton或子類實例嗎?UIButton子類:是否buttonWithType:返回UIButton或子類實例?

例如:

@interface MyButton : UIButton 
@end 

MyButton *button = [MyButton buttonWithType:UIButtonTypeCustom]; 

或者我必須使用allocinitWithFrame呢?

感謝

+0

它應該像對UIButton一樣進行正常的初始化,你只需要繼承UIButton類,這意味着你的類實現了父類的所有行爲,你也可以添加額外的功能,並且可以像使用方式一樣使用你爲簡單的UIButton做,但你必須定義類的按鈕,而不是UIButton * myButton;你必須編寫MyButton * myButton;而已。 – iphonic 2013-03-14 08:07:20

回答

0

buttonWithTypeUIButton一個class method,它返回UIButton類型,雖然你MyButton繼承UIButton,它也不能返回MyButton

更多信息,你可以看到在我的答案是:this

1

對不起,我剛剛發現這個蘋果的doc:

這種方法是創建具有特定配置按鈕對象便捷構造。它是你的子類UIButton,這個方法不會返回你的子類的一個實例。如果要創建特定子類的實例,則必須直接分配/初始化按鈕。

+0

你也可以直接NSLog返回的對象。默認描述字符串打印對象類名稱(實際類)。有助於快速回答「這是什麼類型的東西?」在調試/測試模式下。 – 2013-03-14 06:29:56