#php #objective-c #ios #function #methods
#php #objective-c #iOS #функция #методы
Вопрос:
В PHP я бы сделал что-то вроде этого:
function changeBgColor($boxColor,$color)
{
echo '<div id="'. $boxColor .'">'. $color .'</div>';
}
changeBgColor("box1","red");
Но я не нашел способа сделать это в Objective-C
Я хочу написать некоторый код на Objective-C и иметь возможность вызывать метод для выполнения этого кода.
например, выполните этот код. Но я хочу изменить boxColor и redColor при вызове метода
boxColor.backgroundColor = [UIColor redColor];
Ответ №1:
Вам нужно написать метод, подобный этому:
- (void) changeBackgroundColorOfElement:(NSObject *) element toColour:(UIColor *) color {
if ([element respondsToSelector:@selector(backgroundColor)]) [element setBackgroundColor:color];
else if ([element respondsToSelector:@selector(tintColor)]) [element setTintColor:color];
}
это может быть вызвано:
[self changeBackgroundColorOfElement:myLabel toColour:[UIColor blackColor]];
Или у вас может быть метод C, который вы бы вызывали так же, как ваш PHP-код:
void changeBackgroundColorOfElementToColour(NSObject *element, UIColor *color) {
if ([element respondsToSelector:@selector(backgroundColor)]) [element setBackgroundColor:color];
else if ([element respondsToSelector:@selector(tintColor)]) [element setTintColor:color];
}
Ответ №2:
вот краткое объяснение того, как создать функцию в objective C :
- (void) exampleFunction: (int)x y:(int)y
{
do some stuff HERE, changing BG etc
}
вы можете вызвать эту функцию с помощью :
[self exampleFunction:*TheValueOfX* y:*TheValueOfY*]
это основной способ создания функции и ее использования, есть и другие более сложные вещи, о которых вы, возможно, захотите прочитать.