改变观点的安全方式?

Posted

技术标签:

【中文标题】改变观点的安全方式?【英文标题】:Safe way of changing views? 【发布时间】:2014-02-18 16:08:13 【问题描述】:

我们在应用程序委托中有这样的功能。当本地通知到来时,执行下面的代码,它可能会导致崩溃,正如我在 insertSubview 执行的行中所理解的那样。 我怎样才能安全地做到这一点?谢谢。

-(void)changeController:(UIViewController*)newController 
    self.currentController = newController;
    if([self.window.subviews containsObject:self.menuController.view]) 
        [self.window insertSubview:newController.view belowSubview:self.menuController.view];
    
    else 
        self.window.rootViewController = self.currentController;
    

【问题讨论】:

你看到了什么崩溃?请提供有关问题所在的更多信息,以便我们帮助您解决问题。 错误是视图不存在了。在控制器之间转换时会发生这种情况。 @Oleg 在您的情况下,您可以检查视图是否存在,如果不存在,则返回。 【参考方案1】:

如果您的视图/视图控制器是UINavigationViewController 的一部分,那么您应该使用该类的方法来管理它们:特别是像pushViewController:animated: 这样的东西。一般来说,如果你的视图是由它们自己的视图控制器“控制”的,你可能不应该抓取这些视图并将它们附加到其他视图层次结构中。

【讨论】:

我同意你真的不应该这样做

以上是关于改变观点的安全方式?的主要内容,如果未能解决你的问题,请参考以下文章

存储过程与无存储过程 - 安全观点

观点 | 2020版《个人信息安全规范》如何应用于自动驾驶场景下的数据安全体系建设

专家观点邵国安:大数据的安全要求

Cap22_信息系统安全管理

Java 并发 – 线程安全?

Windows 是最安全的操作系统