我试图UIButton
通过调用以下flash()
给出的方法来点亮一堆充满活力的子类实例:
func flash(delay: TimeInterval = 0.0) {
DispatchQueue.main.asyncAfter(deadline: .now() + delay) { [weak self] in
guard let strongSelf = self else { return }
let flashView = UIView(frame: strongSelf.bounds)
strongSelf.insertSubview(flashView, at: 0)
flashView.backgroundColor = strongSelf.color
DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { flashView.removeFromSuperview() }
}
}
使用此功能,我可以循环遍历一组按钮,触发持续 0.1 秒的闪烁效果,闪烁是由活力层改变其flashView
后面的实例引起的。
DispatchQueue.main.asyncAfter
通过在调用中调用此函数是否有任何缺点DispatchQueue.main.asyncAfter
?