无法将类型值转换为 UINavigationController swift3
Posted
技术标签:
【中文标题】无法将类型值转换为 UINavigationController swift3【英文标题】:Could not cast value of type to UINavigationController swift3 【发布时间】:2018-09-16 23:28:36 【问题描述】:我收到以下转换错误(当我单击模拟器 [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?
...
【问题讨论】:
【参考方案1】:只需阅读错误消息。你在说
segue.destination as! UINavigationController
但是这个segue的目的地不是 UINavigationController。
【讨论】:
嗨,马特,感谢您的帮助。以上是关于无法将类型值转换为 UINavigationController swift3的主要内容,如果未能解决你的问题,请参考以下文章
无法将“__NSCFNumber”()类型的值快速转换为“NSArray”
无法将 UIViewController 类型的值转换为 PatternDetailViewController