swift - 尝试 pushViewController 时“无法转换类型的值”
问题描述
我有两个类MenuVC
,CategoryVC
和CategorySubclassVC
(这是一个子类,CategoryVC
我用它来填充数据)。我还有一个CategoryVC
带有 Storyboard ID的 Storyboard categoryID
。
在didSelectRowAt indexPath
我试图将视图控制器从推MenuVC
到CategorySubclassVC
:
let secondViewController = self.storyboard?.instantiateViewController(withIdentifier: "categoryID") as! CategorySubclassVC
self.navigationController?.pushViewController(secondViewController, animated: true)
我收到一个错误:无法将“My_App.CategoryVC”类型的值转换为“My_App.CategorySubclassVC”。
是否可以以这种方式推送视图控制器?如果我将目的地更改为 CategoryVC 一切正常。子类 (CategorySubclassVC) 出现问题。
解决方案
我找到了一个适合我的解决方案。
let secondViewController = self.storyboard?.instantiateViewController(withIdentifier: "categoryID") as! CategoryVC
object_setClass(secondViewController, CategorySubclassVC)
self.navigationController?.pushViewController(secondViewController, animated: true)
推荐阅读
- reactjs - 在视口中使用 FramerMotion useTransform Animation
- asp.net-core - 无法下载大文件 .NET Core Mvc 控制器
- c++ - 在 C++ 中以编程方式在 Windows 下弹出可移动 SSD
- commercetools - 如何在 CommerceTools 中将子类别更改为根类别
- r - 将 Understat 数据刮入 R
- java - Spring 批量拆分处理器
- c# - 如何将 ICollection 的 FirstOrDefault 更改为 Any?
- reactjs - 将来自 syncfusion 的树组件与 Material UI 一起使用
- javascript - Angular 应用程序之外的 Web 工作集。TypeError:worker.postMessage 不是函数
- android - 如何在 LinearLayout 中动态添加 TextInputLayout?