我正在尝试uialertcontroller在Config.swift文件中创建如下。
uialertcontroller
Config.swift
static func showAlertMessage(titleStr:String, messageStr:String) -> Void { let window : UIWindow? let alert = UIAlertController(title: titleStr, message: messageStr, preferredStyle: UIAlertControllerStyle.Alert); self.window!.presentViewController(alert, animated: true, completion: nil) }
问题是我发现了问题 self.window!.
self.window!.
类型“配置”没有成员“窗口”
请让我知道如何解决该问题。
self.window表示window该类中有一个对象,事实并非如此。
self.window
window
您将需要let window : UIWindow?与with 一起使用window?.presentViewController(alert, animated: true, completion: nil),但这无济于事,因为此窗口实际上并不代表任何现有的窗口,而且它也不是视图控制器。
let window : UIWindow?
window?.presentViewController(alert, animated: true, completion: nil)
因此,我建议您将要使用的实际视图控制器传递给该方法:
static func showAlertMessage(vc: UIViewController, titleStr:String, messageStr:String) -> Void { let alert = UIAlertController(title: titleStr, message: messageStr, preferredStyle: UIAlertControllerStyle.Alert); vc.presentViewController(alert, animated: true, completion: nil) }
然后从可使用UIViewController对象的类中调用它。