2015-10-17 62 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"); 

    } 

了什么苹果改变?

+2

苹果没有任何改变,该代码可能是从来没有编译 – luk2302

回答

0

你的代码也许应该是

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

看看this question answers更好地理解performSelector行为。

+0

伟大的!谢谢。 –

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

相关问题