美文网首页
swift版AlertView顺序弹出

swift版AlertView顺序弹出

作者: 送你的独白么 | 来源:发表于2020-11-11 15:44 被阅读0次

项目中有个需求,从N个接口中返回N个弹出窗,要求按顺序弹出,也就是一个关闭,另外一个才能弹出,于是写了一个管理类,顺手记录下来。
代码:

import UIKit

class AlertViewManager {
    static let share = AlertViewManager()
    let semaphore = DispatchSemaphore(value: 1)
    let concurrentQueue = DispatchQueue(label: "concurrentQueue", attributes: .concurrent)
    func showWithExecuteClosure(_ showClosure: Closure?) {
        concurrentQueue.async {
            self.semaphore.wait()
            DispatchQueue.main.async {
                if showClosure != nil {
                    showClosure?()
                }
            }
        }
    }
    func dismissWithExecuteClosure(_ dissMissClosure: Closure? = nil) {
        concurrentQueue.async {
            self.semaphore.signal()
            DispatchQueue.main.async {
                if dissMissClosure != nil {
                    dissMissClosure?()
                }
            }
        }
    }
}

使用方式:

for _ in 0...3 {
        // 先占用资源,
        AlertViewManager.share.showWithExecuteClosure {
            // 显示你的Alert(不一定是alert, 甚至可以是一些逻辑处理)
            AdvertisingAlertVC.showWith(advImageUrl: advModel.pic) {[weak self](isPush) in
                // 在你的alert的消失闭包回调里在释放资源(必须和占用资源成对出现)
                AlertViewManager.share.dismissWithExecuteClosure()
                
                }
            }
        }
    }

注:Closure 是项目里定义的一个无参无返回值的闭包

相关文章

  • swift版AlertView顺序弹出

    项目中有个需求,从N个接口中返回N个弹出窗,要求按顺序弹出,也就是一个关闭,另外一个才能弹出,于是写了一个管理类,...

  • 【问题收集】不常见的小问题

    1,alertView 相关 如果有文本框在编辑的状态,即键盘弹出的时候,系统的alertView弹出来了,键盘会...

  • iOS-Swift-自定义AlertView

    前言 昨天有位网友和我说想要AlertView的Swift版(OC版请见我另一篇博客),于是今天这边博客就诞生啦!...

  • iOS 常见问题集锦(一)

    1:AlertView cancle pop后键盘弹出 A push B, B 点返回的时候弹出AlertVie...

  • swift AlertView

  • AlertView和Window

    在项目中的使用场景是这样的: 点击按钮弹出AlertView,在AlertView的回调方法中,新建一个view,...

  • iOS中弹出警示框

    iOS中弹出警示框 // 警示框提示请输入 UIAlertView *alertView = [[UIAlert...

  • AlertView 弹出动画

    Example Style 1 放大缩小,弹性效果。 Code GIF Style 2 角度旋转,位置移动。 Co...

  • Swift自学记录

    alertView的使用 后来发现 这个方法还是很方便的 swift 页面跳转

  • Swift UIAlertView 的使用

    在程序中我们经常需要提醒框(alert),在swift中,使用 var alertView=UIAlertView...

网友评论

      本文标题:swift版AlertView顺序弹出

      本文链接:https://www.haomeiwen.com/subject/emgebktx.html