我会显示一个模态viewcontroller
,用户可以决定编辑或删除显示的汽车。
如果用户想要删除这辆车,我会提出一个警告风格UIAlertController
来询问他是否真的要删除这辆车。一切正常。但在用户选择“是”后,我仍然在modal viewcontroller
。
删除后如何解除模态视图?
我尝试过以下代码
self.parentViewController?.dismissViewControllerAnimated(true, completion: nil)
和
self.navigationController?.popViewControllerAnimated(true)
关闭ok动作,但两者都不适合我。 :(
答案 0 :(得分:2)
没有理由在
中编写代码dispatch_async(dispatch_get_main_queue(), { //write your code here
})
以上代码用于主线程中的工作。但是你已经在主线上了。
这里的问题是你在打电话
self.parentViewController?.dismissViewControllerAnimated(true, completion: nil)
而不是只写
self.dismissViewControllerAnimated(true, completion: nil)
因为您在AlertController
控制器上展示self
所以唯一可以解雇它的人是self
答案 1 :(得分:1)
将您的代码放在
中 dispatch_async(dispatch_get_main_queue(), { //write your code here
})
像那样:
func showDeleteWarningAndDeleteEntity() {
dispatch_async(dispatch_get_main_queue(), {
let deleteController = UIAlertController(title: "Delete car", message: "Are you sure?", preferredStyle: .Alert)
let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel) {
(action) in
}
let okACtion = UIAlertAction(title: "Yes", style: .Destructive) {
(action) in
//some network stuff happens here...
self.dismissViewControllerAnimated(true, completion: nil)
}
deleteController.addAction(okACtion)
deleteController.addAction(cancelAction)
self.presentViewController(deleteController, animated: true, completion: nil)
})
}
希望这对你有用