如何快速添加从我的 appdelegate 类调用的弹出窗口?
Posted
技术标签:
【中文标题】如何快速添加从我的 appdelegate 类调用的弹出窗口?【英文标题】:how can i add a popup that is invoked from my appdelegate class in swift? 【发布时间】:2016-02-16 00:01:25 【问题描述】:我正在为我的 ios 应用程序开发一个google sign in tutorial,当我们无法将用户登录到我的应用程序时,有一部分是。
到目前为止,appDelegate.swift 中的代码部分如下所示:
guard error == nil && data != nil else
// check for fundamental networking error
print("error=\(error)")
//lets put popup here that says cant connect to server
GIDSignIn.sharedInstance().signOut()
return
现在我不想打印错误,而是要放置警报弹出窗口。我试着写在那里:
let alert = UIAlertController(title: "Alert", message: "Message", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Click", style: UIAlertActionStyle.Default, handler: nil))
self.presentViewController(alert, animated: true, completion: nil)
但后来我在self.presentViewController
附近收到 xcode 错误,说是value of type AppDelegate has no member presentViewController
。
在这种情况下如何显示警报弹出窗口?
【问题讨论】:
【参考方案1】:尝试使用此行:-
self.window?.rootViewController?.presentViewController(alert, animated: true, completion: nil)
这里你需要一个 viewController 对象来展示 AlertController,希望这对你有帮助:)
【讨论】:
我真的很喜欢有人这么说you cannot...
然后其他人给出了一个非常有效的解决方案 :) 谢谢!
@N.Raval 在我这里有一个错误self.window?.rootViewController?.present(alert, animated: true, completion: nil)
。如何解决?【参考方案2】:
在 Swift 3
self.window?.rootViewController?.present(alert, animated: true, completion: nil)
【讨论】:
我这边还是有错误,self.window?.rootViewController?.present(alert, animated: true, completion: nil)
以上是关于如何快速添加从我的 appdelegate 类调用的弹出窗口?的主要内容,如果未能解决你的问题,请参考以下文章
我如何从目标 c 代码中获取 Swift AppDelegate 的参考
ViewController() 比 appDelegate() 先调用?
如何从我的 ObservableObject 类调用我的 View 结构中的方法