我在iOS 10中使用下面的代碼,但是當我在iOS 9中運行它時,它崩潰了。我不認爲NSTimer scheduledTimerWithTimeInterval:repeats:block:支持iOS 9.我如何實現一個可以在iOS 8-10中工作的計時器?iOS 9兼容版本的NSTimer scheduledTimerWithTimeInterval:重複:block:?
static NSTimer* timer = nil;
- (void)documentInteractionControllerWillBeginPreview:(UIDocumentInteractionController *)controller
{
timer = [NSTimer scheduledTimerWithTimeInterval:0.1 repeats:YES block:^(NSTimer * _Nonnull timer) {
[[UIApplication sharedApplication] setStatusBarHidden:YES];
}];
}
-(void)documentInteractionControllerDidEndPreview:(UIDocumentInteractionController *)controller
{
[timer invalidate];
[[UIApplication sharedApplication] setStatusBarHidden:YES];
}
什麼崩潰日誌說。僅供參考NSTimer一直存在。 – Fogmeister
使用Swift的另一個原因。它本可以拒絕編譯,從而避免了崩潰。這是因爲Swift _knows_這種方法在iOS 9上不被支持。我很驚訝地聽到Objective-C沒有趕上。你甚至沒有收到警告?驚人。 – matt