0
我試圖從延遲中刪除視圖窗體superView。我有相同的Objective-C代碼,但無法在Swift中實現它。從SuperView中刪除視圖時出現延遲:Swift 3
代碼段:
[self performSelector:@selector(removeFromSuperview) withObject:nil afterDelay:6.5];
我試圖從延遲中刪除視圖窗體superView。我有相同的Objective-C代碼,但無法在Swift中實現它。從SuperView中刪除視圖時出現延遲:Swift 3
代碼段:
[self performSelector:@selector(removeFromSuperview) withObject:nil afterDelay:6.5];
你可以派遣一個封閉一些延遲後運行,並從上海華回調刪除自身:
DispatchQueue.main.asyncAfter(deadline: .now() + 6.5) {
self.removeFromSuperview()
}
如果你真的想用performSelector
的辦法,在這裏它是:
self.perform(#selector(self.removeFromSuperview), with: nil, afterDelay: 6.5)
是的,但我希望利用這種方法:self.perform(aSelector:Selector ,with:Any,afterDelay:TimeInterval) –
@SupratikMajumdar不要直接翻譯Objective-C。試着理解並習慣Swift如何處理這些事情。 – vadian
@SupratikMajumdar你也可以使用'performSelector'(參見更新後的anwer),但是你不應該;)選擇器是客觀的 - 痕跡 – alexburtnik