Как создать метод, подобный тому, который я сделал в php, но в Objective-C

#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*]
  

это основной способ создания функции и ее использования, есть и другие более сложные вещи, о которых вы, возможно, захотите прочитать.