ios – prepareForSegue和代表

ios – prepareForSegue和代表,第1张

概述我有一个应用程序与两个部分.在其中一个区段中,当前视图控制器成为一个委托,另一个不是. - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ if ([segue.identifier isEqualToString:@"MoreOptions"]) { UINavigationCont 我有一个应用程序与两个部分.在其中一个区段中,当前视图控制器成为一个委托,另一个不是.
- (voID)prepareForSegue:(UIStoryboardSegue *)segue sender:(ID)sender{    if ([segue.IDentifIEr isEqualToString:@"MoreOptions"]) {        UINavigationController *navigationController = segue.destinationVIEwController;        MoreOptionsVIEwController *controller = (MoreOptionsVIEwController *)navigationController.topVIEwController;        controller.delegate = self;    } else if ([segue.IDentifIEr isEqualToString:@"FullStoryVIEw"]) {        SingleStoryVIEwController *detailVIEwController = segue.destinationVIEwController;        detailVIEwController.urlObject = sender;    }}

所有这一切都很好,但我想更好地尝试了解代码.我不明白的是,我必须通过从navigationController.topVIEwController获取参考,而不是像在第二个if条件中那样从segue.destinationVIEwController中获取它,从而获得对MoreOptionsVIEwController的引用.是因为我将当前视图控制器(self)设置为代理?再次,我不是想解决一个问题,只是想更好地了解发生了什么.

解决方法 看看你的故事板,应该明白为什么会这样.您在UINavigationController中嵌入了MoreOptionsVIEwController,并将一个segue连接到导航控制器,从而使其成为destinationVIEwController.这是很常见的. 总结

以上是内存溢出为你收集整理的ios – prepareForSegue和代表全部内容,希望文章能够帮你解决ios – prepareForSegue和代表所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1097988.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存