2016-11-02 9 views
0

ビューを削除しようとしていますスーパービューが遅れています。私は同じ目的のための客観的なコードを持っていますが、Swiftでそれを実装することはできません。遅延を伴うSuperViewからのビューの削除:Swift 3

コードスニペット:

[self performSelector:@selector(removeFromSuperview) withObject:nil afterDelay:6.5]; 

答えて

1

あなたは、いくつかの遅延後に実行するクロージャを派遣し、コールバックでスーパーから自己を削除することができます。

DispatchQueue.main.asyncAfter(deadline: .now() + 6.5) { 
    self.removeFromSuperview() 
} 

あなたが本当にperformSelectorアプローチを使用したい場合は、ここでそれはです:

self.perform(#selector(self.removeFromSuperview), with: nil, afterDelay: 6.5) 
+0

真ですが、私はこのメソッドを利用したいと思います:self.perform(aSelector:Selector 、with:Any、afterDelay:TimeInterval) –

+2

@SupratikMajumdar Objective-Cを文字通り翻訳しないでください。理解して、スウィフトがそれらのことをどのように処理するかに慣れさせてください。 – vadian

+0

@SupratikMajumdarあなたは 'performSelector'も使うことができます(更新されたanwerを参照してください)。セレクタは一種の客観的な痕跡です – alexburtnik

関連する問題