             popoverController.sourceView = source
             popoverController.sourceRect = source.bounds
         }
-        
+
         return self
     }
-    
+
     deinit {
         //print("deinit")
     }

        return topController
    }

    
    /// For ActionSheet
    public func setBarButton(item: UIBarButtonItem) -> Self {
        guard UIDevice.current.userInterfaceIdiom == .pad else {

    internal var observer: AnyObserver<Result>?
    private  var retainSelf: Any?
    private  let disposeBag = DisposeBag()

    init(title: String?, message: String?, preferredStyle: UIAlertControllerStyle) {
        alertController = .init(title:title, message:message, preferredStyle:preferredStyle)

        super.init()

        alertController.rx.sentMessage(#selector(UIViewController.viewDidDisappear(_:)))
            .subscribe(onNext: { [weak self] _ in
                DispatchQueue.main.asyncAfter(deadline: .now() + DispatchTimeInterval.microseconds(300)) {
