私は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];
}
をクラッシュログは、何と言っています。 FYI NSTimerは永遠にありました。 – Fogmeister
Swiftを使用するもう一つの理由。それはコンパイルすることを拒否し、クラッシュを防ぎました。これは、SwiftがiOS 9ではこのメソッドがサポートされていないためです。Objective-Cが追いついていないことに驚いています。あなたは警告をもらっていませんでしたか?素晴らしい。 – matt