Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 解析Swift-自定义登录警报视图错误_Ios_Swift_Parse Platform - Fatal编程技术网

Ios 解析Swift-自定义登录警报视图错误

Ios 解析Swift-自定义登录警报视图错误,ios,swift,parse-platform,Ios,Swift,Parse Platform,我正在使用解析框架来验证我的用户登录。他们单击登录按钮,如果出现错误,警报视图将弹出错误消息。但是,由于UIAlertView已被弃用,我无法使其与UIAlertController一起使用 在ViewDidDisplay方法中,我检查用户是否已登录,如果未登录,他们将重定向到登录页面,如下所示: override func viewDidAppear(animated: Bool) { super.viewDidAppear(animated) var logInControl

我正在使用解析框架来验证我的用户登录。他们单击登录按钮,如果出现错误,警报视图将弹出错误消息。但是,由于UIAlertView已被弃用,我无法使其与UIAlertController一起使用

在ViewDidDisplay方法中,我检查用户是否已登录,如果未登录,他们将重定向到登录页面,如下所示:

override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)
    var logInController = PFLogInViewController()

    logInController.delegate = self

    var logo = UILabel()
    logo.text = "MyApp"        
    logInController.logInView?.logo = logo

    self.presentViewController(logInController, animated: true, completion: nil)}
我有一个(提供解析)函数,用于检查凭据是否正确,否则会显示一个警报:

func logInViewController(logInController: PFLogInViewController, shouldBeginLogInWithUsername username: String, password: String) -> Bool {

    if (!username.isEmpty || !password.isEmpty) {
        return true
    } else {
        let alert = UIAlertController(title: "Login Error", message: "Username or Password invalid", preferredStyle: UIAlertControllerStyle.Alert)

        alert.addAction(UIAlertAction(title: "Click", style: UIAlertActionStyle.Default, handler: nil))

        self.presentViewController(alert, animated: true, completion: nil)

        return false

    }     

}
这会生成登录视图,但当我尝试更改用户输入错误/空凭据时的警报时,会出现以下错误:

警告:“试图显示其视图不在窗口层次结构中的对象!”

根据下面的文档,我可以通过上面的功能自定义警报,但是,UIAlertView已被弃用,并且不确定如何继续

有人知道如何在登录页面中生成错误警报吗

而不是使用此

self.presentViewController(alert, animated: true, completion: nil)
试试这个

logInController.presentViewController(alert, animated: true, completion: nil)

它在obj-c上对我起了作用

警告说,从中显示警报的视图控制器不在视图层次结构中。在窗口导航中是否显示视图控制器的警报之前进行检查。谢谢@Amit89,它不在视图中。Richard帮助提出了解决方案。非常感谢!在昨晚花了几个小时之后,这对我来说很有效。