任何人都有过一个带有“取消”操作的警报控制器,只是在处理程序中返回了什么?
我的应用设置....
我在另一个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语句中的任何警报控制器中包装操作。永远不会抛出异常或导致找到一个零并修复我的问题。
答案 0 :(得分:2)
尝试使用nil而不是return,
let cancel = UIAlertAction(title: "Ok", style: .Cancel, handler: nil)
alertController.addAction(cancel)
我还有一些其他设置目标警报控制器,这对我来说很好。