2015-10-17 1 views
-2

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

Это предупреждение Необъявленная селектор «performThisMethod: _ImageData

Кроме того, приложение аварии на [себе performSelector:]

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

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

    } 

Что Apple, изменилось?

+2

Apple, ничего не изменится, то код, вероятно, никогда не компилируется – luk2302

ответ

0

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

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

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

+0

Great !! Спасибо. –

1

Вы используете 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]; 
}); 
+0

Спасибо !!! :) Отправка товара ... !! –

+1

Рад, что я мог помочь. Пожалуйста, не забудьте принять ответ, который решил вашу проблему. Это указывает на то, что вопрос завершен, и это повышает вашу репутацию. – rmaddy