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
поведение.