Невозможно выполнить метод при передаче в качестве параметра iPhone / iPad - PullRequest
0 голосов
/ 22 июля 2011

Я пытаюсь научиться передавать методы в качестве параметров, а затем выполнять их.В моем коде у меня есть метод, который вызывается при нажатии кнопки (последний метод), я пытаюсь передать method1 и method2 в метод placeSlide.Я могу это сделать, но когда я пытаюсь выполнить их, я получаю сообщение об ошибке.Что я делаю неправильно?

-(void) method1{

}
-(void) method2{

}

-(void) placeSlide: (SEL) meth1 OtherMethod: (SEL) meth2{




    NSTimer *timer1;
    timer1 = [NSTimer scheduledTimerWithTimeInterval: (1)
                                             target: self
                                           selector: @selector(meth1)
                                           userInfo: nil
                                            repeats: NO];
    NSTimer *timer2;
    timer2 = [NSTimer scheduledTimerWithTimeInterval: (1.2)
                                             target: self
                                           selector: @selector(meth2)
                                           userInfo: nil
                                            repeats: NO];
}

// get's executed when I click on a btn
-(IBAction) ButtonClick{
    [self placeSlide:@selector(method1) OtherMethod:@selector(method2)];
}

и ошибка, которую я получаю: enter image description here

1 Ответ

3 голосов
/ 22 июля 2011

Просто передайте SEL переменные такими, какие они есть.

NSTimer *timer1;
timer1 = [NSTimer scheduledTimerWithTimeInterval: (1)
                                         target: self
                                       selector: meth1
                                       userInfo: nil
                                        repeats: NO];
NSTimer *timer2;
timer2 = [NSTimer scheduledTimerWithTimeInterval: (1.2)
                                         target: self
                                       selector: meth2
                                       userInfo: nil
                                        repeats: NO];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...