无法将类型的值转换为UINavigationController swift3
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法将类型的值转换为UINavigationController swift3相关的知识,希望对你有一定的参考价值。
我得到以下施法错误(当我点击模拟器[NavigationController]中的“+”按钮时)无法弄清楚原因。我正在使用Swift3。谢谢你的帮助!
MainVC.swift
protocol AddTaskDelegate: class {
func saveTask(by controller: AddVC, with data: [String:String])
}
class MainVC: UIViewController {
// all tasks from the database
var tasks = [ToDoListTasks]()
@IBOutlet weak var table: UITableView!
// connect with Core Data
let managedObjectContext = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
...
// prepare segue to send data
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "AddSegue" {
let navigationController = segue.destination as! UINavigationController
let childViewController = navigationController.topViewController as! AddVC
childViewController.delegate = self as! AddTaskDelegate
}
}
}
AddVC.swift
class AddVC: UIViewController {
weak var delegate: AddTaskDelegate?
...
答案
只需阅读错误消息。你是说
segue.destination as! UINavigationController
但是这个segue的目的地不是UINavigationController。
以上是关于无法将类型的值转换为UINavigationController swift3的主要内容,如果未能解决你的问题,请参考以下文章
无法将“__NSCFNumber”()类型的值快速转换为“NSArray”
无法将 UIViewController 类型的值转换为 PatternDetailViewController