2013-02-20 1 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.

Я попытался это (он does't работы):

в заголовке файла (.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]; 

} 

Как я могу вернуть selectedLabel внутри IBAction.

спасибо.

ответ

0

Ваш код выглядит правильно, все, что вам нужно сделать, это создать переменную UILabel в вашей кнопкеПрисоложено: метод хранения ссылки на возвращенную метку. Меняем

[self selected]; 

к:

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

Он работает. Спасибо. Точно, что мне нужно – joseamck