UIAlertController发疯,指向应该取消的设置

时间:2015-02-01 18:00:06

标签: xcode swift uialertcontroller

任何人都有过一个带有“取消”操作的警报控制器,只是在处理程序中返回了什么?

我的应用设置....

我在另一个viewcontroller中有另一个警报控制器来执行此操作。但这不应该影响这个????

alertControl.addAction(UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel, handler: { (alertAction) -> Void in
            return
        }))

更新

将所有其他alertController注释掉。 (他们都在其他视图控制器中)现在它不再这样做了。这是什么??

这些也只在出现问题时才在函数中声明。当没有连接时,......它们甚至不应该存在,除非函数被调用。

更新2:

func checkAllSettingsForLocation() {
        if isTest != true {
        //println("should show this")

        let alertController = UIAlertController(title: "Scenix can't use your location", message: "Check Location Services under Privacy in the Settings App", preferredStyle: UIAlertControllerStyle.Alert)

        let goToSettingsAction = UIAlertAction(title: "Go to Settings", style: .Default, handler: {
            action in
            UIApplication.sharedApplication().openURL(NSURL(string:UIApplicationOpenSettingsURLString)!)
            return

            }
        )
        alertController.addAction(goToSettingsAction)

        let ignoreNoCamAction = UIAlertAction(title: "Cancel", style: .Default, handler: {
            action in
            self.launch = self.launch - 1
            return

            }
        )
        alertController.addAction(ignoreNoCamAction)

        self.presentViewController(alertController, animated: true, completion: nil)
        }
    }

更新3:

看起来越来越像Xcode Bug。

为发布/通过测试飞行构建,并且存在错误。 做一个正常的调试构建,一切都很好......


脏修复=>

从检查警报控制器标题的if语句中的任何警报控制器中包装操作。永远不会抛出异常或导致找到一个零并修复我的问题。

1 个答案:

答案 0 :(得分:2)

尝试使用nil而不是return,

let cancel = UIAlertAction(title: "Ok", style: .Cancel, handler: nil) alertController.addAction(cancel)

我还有一些其他设置目标警报控制器,这对我来说很好。