Как создать метод, как я сделал в php, но в Objective-C - PullRequest
0 голосов
/ 10 октября 2011

В PHP я бы сделал что-то вроде этого:

function changeBgColor($boxColor,$color)
{
    echo '<div id="'. $boxColor .'">'. $color .'</div>';
}

changeBgColor("box1","red");

Но я не нашел способа сделать это в Objective-C

Я хочу написать некоторый код вObjective-C и иметь возможность вызывать метод для выполнения этого кода.

например, выполнить этот код.Но я хочу изменить boxColor и redColor при вызове метода

boxColor.backgroundColor = [UIColor redColor]; 

Ответы [ 2 ]

2 голосов
/ 10 октября 2011

Вам нужно написать такой метод:

- (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];
}
0 голосов
/ 10 октября 2011

Вот краткое объяснение того, как создать функцию в цели C:

- (void) exampleFunction: (int)x y:(int)y
{
do some stuff HERE, changing BG etc
}

Вы можете вызвать эту функцию следующим образом:

[self exampleFunction:*TheValueOfX* y:*TheValueOfY*]

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...