我有两个班 MenuVC
, CategoryVC
和 CategorySubclassVC
的一个子类 CategoryVC
并且我用它来填充数据)。) 我还有一个故事板,用于 CategoryVC
有故事板ID categoryID
.
在 didSelectRowAt indexPath
我试着将视图控制器从 MenuVC
到 CategorySubclassVC
:
let secondViewController = self.storyboard?.instantiateViewController(withIdentifier: "categoryID") as! CategorySubclassVC
self.navigationController?.pushViewController(secondViewController, animated: true)
我得到一个错误。Could not cast value of type 'My_App.CategoryVC' to 'My_App.CategorySubclassVC'.
是否可以用这种方式推送视图控制器?如果我把目标改成CategoryVC,所有的工作都正常。问题出现在子类(CategorySubclassVC)上。
我找到了一个适合我的解决方案。
let secondViewController = self.storyboard?.instantiateViewController(withIdentifier: "categoryID") as! CategoryVC
object_setClass(secondViewController, CategorySubclassVC)
self.navigationController?.pushViewController(secondViewController, animated: true)