使用 editActions 和 performSegue 编辑 UITableView 行?
Posted
技术标签:
【中文标题】使用 editActions 和 performSegue 编辑 UITableView 行?【英文标题】:Editing UITableView row with editActions and performSegue? 【发布时间】:2016-11-21 11:33:17 【问题描述】:我尝试在我的 TableView 中添加滑动编辑选项。如果用户按编辑,则应打开一个新视图。
但我总是在“if segue.identifier ==”ItemDetailsVS “””行的函数“editActionsForRowAt”中遇到错误:致命错误:在展开可选值时意外发现 nil
segue 在情节提要中具有正确的名称。有什么想法吗?
override func prepare(for segue: UIStoryboardSegue, sender: Any?)
if segue.identifier == "ItemDetailsVC"
if let destination = segue.destination as? ItemDetailsViewController
if let item = sender as? Item2
destination.itemToEdit = item
func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]?
let edit = UITableViewRowAction(style: .normal, title: "Edit") (action, indexPath) in
var segue: UIStoryboardSegue!
if segue.identifier == "ItemDetailsVC"
if let objects = self.controller.fetchedObjects , objects.count > 0
let item = objects[indexPath.row]
self.performSegue(withIdentifier: "ItemDetailsVC", sender: item)
return [edit]
【问题讨论】:
你在创建一个空变量并使用它,它当然会为你报错,你可以参考this学习如何使用segue 【参考方案1】:这是因为您使用的是未初始化的 Segue 对象,因此使用“?”而不是“!”。还要检查标识符。
https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/OptionalChaining.html
【讨论】:
以上是关于使用 editActions 和 performSegue 编辑 UITableView 行?的主要内容,如果未能解决你的问题,请参考以下文章
使用 RegQueryValueEx 和 HKEY_PERFORMANCE_COUNTER 获取“Disk Bytes/sec%