Пройдите 2 объекта с помощью метода - iPhone SDK - PullRequest
0 голосов
/ 20 ноября 2010

У меня есть этот «наблюдатель», который следит за переключателем UIS для изменения значения:

[cell.switcher addTarget:self action:@selector(switched:withName:) forControlEvents:UIControlEventValueChanged];

При изменении значения вызывается этот метод:

-(void)switched:(UISwitch *)switcher withName:(NSString *)name;

Как видите, у меня есть два объекта, которые мне нужно передать с первым кодом. Как отправить объект nsstring и uiswitch через метод addTarget: action: forControlEvents, чтобы я мог получить к ним доступ в переключателе селектора: с именем?

Спасибо

Кевин

РЕДАКТИРОВАТЬ: Я не очень хорошо разбираюсь в obj-c и не совсем правильно выучил термины, поэтому, если я допустил ошибку, пожалуйста, дайте мне знать!

Ответы [ 2 ]

3 голосов
/ 20 ноября 2010

Лучший способ сделать это - пометить объекты UISwitch:

uiSwitch1.tag = 0;
uiSwitch2.tag = 1;
...

Затем, используя метод switched:, вы можете проверить тег отправителя и определить там свою строку:

-(void)switch:(id)sender {
    switch ([sender tag]) {
        case 0:
        // set the string for uiSwitch1
        case 1:
        // set the string for uiSwitch2
        ...
    }
}
1 голос
/ 20 ноября 2010

Вы не можете. Селектор для действий UIControl будет только передавать обратно отправителю (в этом случае ваш cell.switcher). Вы должны найти способ определить, какая строка вам нужна, на основе действия и идентификатора отправителя.

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