2014-04-04 68 views
0

有什麼想法可以幫助用不同的輸入類型重載方法嗎? 例如,我的代碼中的 我有兩種類似的方法用於UILabelUITextField。 我可以使用一種方法而不是以下兩種方法嗎?同一方法中的不同輸入類型

+(void) autoManageLabelWithSameSize:(UILabel *) label; 
+(void) autoManageTextFieldWithSameSize:(UITextField *) label; 

回答

1

宣言

+(void) autoManageObjectWithSameSize:(id) obj; 

定義

+(void) autoManageObjectWithSameSize:(id) obj{ 
    if ([obj isKindOfClass:[UILabel class]]) { 
     // Label 
    } 
    else if ([obj isKindOfClass:[UITextField class]]) { 
     // TextField 
    } 

} 
+0

是有可能的輸入類型設置限制:只(*的UILabel)或(的UITextField *)?也就是說,如果我設置了(UIView *),它會編譯時沒有錯誤。 – Vyacheslav

+0

id類型就像java中的對象類型。它會接受它會接受的東西 – Rajesh

+0

。但我們只爲標籤和文本字段寫入條件。所以不會執行任何操作 – Rajesh