Я пытаюсь добавить салфетки для редактирования в моем TableView. Если пользователь нажимает «Изменить», открывается новый вид.Редактирование строки UITableView с помощью editActions и performSegue?
Но я всегда получаю сообщение об ошибке в Func «editActionsForRowAt» на линии с «, если segue.identifier ==„ItemDetailsVS {“„“: фатальная ошибка: неожиданно нашли ноль в то время как разворачивание необязательное значение
The 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] (http://stackoverflow.com/questions/26089152/sending-data-with-segue- с быстрым), чтобы узнать, как использовать segue – Tj3n