iOS 9 Необъявленный селектор

Почему после обновления до iOS 9 эта строка кода не работает?

Предупреждение: Необъявленный селектор 'executeThisMethod:_ImageData

Приложение вылетает на [self executeSelector:]

[self performSelector:@selector(performThisMethod:_ImageData:)withObject:nil afterDelay:0.05f];

-(void) performThisMethod : (NSData *) data {
     NSLog(@"Testing this Method");

  }

Что изменило Apple?

2 ответа

Ты используешь performSelector неправильно. Ты хочешь:

[self performSelector:@selector(performThisMethod:) withObject:_ImageData afterDelay:0.05f];

Еще лучше, используйте dispatch_after:

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.05 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
    [self performThisMethod:_ImageData];
});

Ваш код, вероятно, должен быть

[self performSelector:@selector(performThisMethod:) withObject:_ImageData afterDelay:0.05f];

Посмотрите на этот вопрос ответы, чтобы лучше понять performSelector поведение.

Другие вопросы по тегам