Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.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
Swift 使用UIAlert删除tableView行时出现SIGABRT错误_Swift_Xcode_Uialertcontroller - Fatal编程技术网

Swift 使用UIAlert删除tableView行时出现SIGABRT错误

Swift 使用UIAlert删除tableView行时出现SIGABRT错误,swift,xcode,uialertcontroller,Swift,Xcode,Uialertcontroller,我正在尝试使用commit editingstyle函数删除tableView中的一行。当用户删除一行时,我希望显示UIAlertController。 我在没有警报的情况下试过,效果不错。 下面是我的提交编辑样式函数: func tableView(tableView:UITableView,commit editingStyle:UITableViewCellEditingStyle,forRowAt indexPath:indexPath){ 如果editingStyle==.delete

我正在尝试使用commit editingstyle函数删除tableView中的一行。当用户删除一行时,我希望显示UIAlertController。 我在没有警报的情况下试过,效果不错。 下面是我的提交编辑样式函数:

func tableView(tableView:UITableView,commit editingStyle:UITableViewCellEditingStyle,forRowAt indexPath:indexPath){
如果editingStyle==.delete{
let sheet=UIAlertController(标题:“Diesen Verein löschen?”,消息:“Wollen Sie Diesen Verein für immer löschen?”,首选样式:。警报)
当前(表,动画:真,完成:无)
让action1=UIAlertAction(标题:“Löschen”,样式:。默认,处理程序:{(操作)在
self.deleteClub(at:indexath)
})
让action2=UIAlertAction(标题:“Abbrechen”,样式:。默认值,处理程序:{(操作)在
self.disclose(动画:true,完成:nil)
})
表.添加操作(操作1)
表.添加操作(操作2)
当前(表,动画:真,完成:无)
}
}
这是我的delete函数,但我不认为这是一个错误,因为它在没有警报的情况下工作

func deleteClub(在indepath:indepath处){
let club=clubs[indexPath.row]
guard let managedContext=club.managedObjectContext-else{
返回
}
managedContext.delete(俱乐部)
做{
请尝试managedContext.save()
梅花。移除(位于:indexath.row)
tableViewClub.deleteRows(位于:[indexPath],带:。自动)
}抓住{
打印(“无法删除”)
tableViewClub.reloadRows(位于:[indexPath],带:。自动)
}
}

当控制台崩溃时,是否有错误消息?同样使用is
present(sheet,动画:true,completion:nil)
调用两次?将您的警报代码从UITableViewCellEditingStyle移动到deleteClub func,然后重试。@aBilal17除了感谢@Larme Oh是的,我删除了它一次,现在它工作了:DFYI,如果您阅读了控制台,您将得到“由于未捕获的异常‘NSInvalidArgumentException’而终止应用程序,原因是:‘应用程序试图以模态方式呈现活动控制器’,这是一个明显的错误。训练自己强制阅读。如果你不理解它们,搜索或询问。但阅读它们是你工作的一部分。