我有一个继承自UIViewController的自定义类,当我要导航时,我正在像这样铸造此类

MyCustomViewController *vc =  ((MyCustomViewController *)segue.destinationViewController);


那行得通,但是如果我在Xcode中查看的话,vc变量实际上就是UINavigationController(我认为这是我的根本问题)。
然后我接下来尝试在该视图上设置一些变量并获取异常


  由于未捕获的异常而终止应用程序
  'NSInvalidArgumentException',原因:'-[UINavigationController
  setMyVarID:]:无法识别的选择器已发送到实例0xbe59ec0'


这是我以前从未处理过的所有Storyboard ios视图,但我正试图解决已经完成的代码中的错误。

关于如何使演员表正确运行的任何想法,或者我可能做错了什么?

最佳答案

如果您可以提供StoryBoard设置的屏幕截图,这将有助于确定确切的问题。

考虑以下设置:

VC1->模式搜索-> NAV1->根视图关系-> VC2

如果导航控制器(NAV1)与视图控制器(VC2)具有根视图关系,并且您具有从VC1到NAV1的序列表,则在prepareForSegue:方法中,您的目标视图控制器不是NAV1而是Root查看(VC2)。

因此,您需要将类分配给VC2(UserWishListRoomsViewController)而不是NAV1(它应该是通用的UINavigationController),然后代码才能工作。

关于ios - 转换UIViewcontroller,最终显示为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23895202/

10-11 17:22