2013-02-20 42 views
0

返回類型的UILabel有這個我如何從創建方法

UILabel *selectedLabel; 
    selectedLabel = nil; 
    if (is_x) { 
     selectedLabel = labelField_x; 
    } else if (is_y) { 
     selectedLabel = labelField_y; 
    } else if (is_z) { 
     selectedLabel = labelField_z; 
    } 

爲了防止這種情況的代碼重複,我怎麼能作出這樣會返回一個類型UILabel類的方法。

我曾經嘗試這樣做(簡化版,它的工作):在頭

(.h)文件中:

//new method 
- (UILabel *) selected; 

實施(.M)文件:

- (UILabel *) selected { 
UILabel *selectedLabel; 
    selectedLabel = nil; 
    if (is_x) { 
     selectedLabel = labelField_x; 
    } else if (is_y) { 
     selectedLabel = labelField_y; 
    } else if (is_z) { 
     selectedLabel = labelField_z; 
    } 
return selectedLabel; 
} 

- (IBAction)buttonPressed:(id)sender{ 
[self selected]; 

} 

我如何在IBAction中返回selectedLabel。

謝謝。

回答

0

您的代碼看起來不錯,您需要做的就是在buttonPressed:方法中創建一個UILabel變量,以存儲對返回標籤的引用。因此,改變

[self selected]; 

到:

UILabel *selectedLabel = [self selected]; 
// Now do what you want with the selectedLabel 
+1

它的工作原理。謝謝。正是我需要的 – joseamck 2013-02-20 04:14:39