iOS-具有对父视图控制器的“强大”引用的子视图控制器

拉菲

我已经阅读了很多有关保留周期的信息。必要时,父母UIViewController应始终strong引用其子女,UIViewController而孩子应weak引用其父母。

只有在他们互相参照时才这样吗?例如,如果父级UIViewController没有对其子级的引用,那么子级可以对strong其父级进行引用UIViewController吗?我可以避免这种情况吗,还是从长远来看会出现这种内存问题的坏习惯?

弗鲁比

来自UIViewController.h

/*
  If this view controller is a child of a containing view controller (e.g. a navigation controller or tab bar
  controller,) this is the containing view controller.  Note that as of 5.0 this no longer will return the
  presenting view controller.
*/
weak public var parentViewController: UIViewController? { get }

// An array of children view controllers. This array does not include any presented view controllers.
@available(iOS 5.0, *)
public var childViewControllers: [UIViewController] { get }

在这里,您可以看到parent和child之间已经存在 strongweak引用ViewControllers不应strong在从子级到父级的方向上添加更多新引用,因为这可能导致内存泄漏。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

(iOS)音频播放器作为应用程序中所有父视图控制器上的子视图控制器

iOS中子视图控制器方向更改时如何旋转父视图控制器

iOS - 如何通过子容器设置父视图控制器的图像视图?

iOS根据视图控制器标题引用特定词典

ios viewcontroller 在容器内调用子视图控制器

iOS切换标签的子视图控制器

iOS中的模型-视图-控制器

iOS无法关闭视图控制器

iOS推视图控制器崩溃

iOS-拆分视图控制器-如何从主视图控制器内部获取指向详细视图控制器的指针(引用)?

iOS-将子视图添加到子视图控制器视图

iOS如何获取对带有Segue的故事板容器中嵌入的视图控制器的引用?

iOS-如何控制模态视图控制器的大小?

iOS容器视图。动态加载视图控制器

为每个视图iOS创建单独的视图控制器?

不同视图控制器上的iOS共享命令视图

iOS:用于...的子视图的子视图与育儿控制器对话的最佳方法

iOS - 从呈现的视图控制器呈现视图控制器会改变其高度

iOS 7:如何用表格视图控制器替换标准视图控制器

在iOS中,初始视图控制器始终与根视图控制器相同

iOS-如何在视图控制器中引用视图?

iOS:容器视图-更改子视图控制器时动画推送过渡

处理驻留在父视图控制器(ios)中的按钮的触摸

iOS控制器模式-通过3个视图控制器的相同实例

在iOS 13的iPhone上将人像View控制器推入横向视图控制器

iOS:添加子视图控制器不显示子组件

更改iOS窗口的根视图控制器

如何在iOS中从左到右显示视图控制器?

iOS 7半透明模式视图控制器