【问题标题】:Reference type (weak or strong) for for IBOutlet child viewcontrollers in a viewcontroller hierarchy?视图控制器层次结构中 IBOutlet 子视图控制器的引用类型(弱或强)?
【发布时间】:2014-09-25 18:28:44
【问题描述】:

抱歉,这是一个愚蠢的问题;我想我已经知道这个问题的答案,但想确认一下。一段时间以来,Apple 批准将视图控制器嵌入到视图控制器中(即视图控制器层次结构)。通常,通过 IBOutlet 连接到视图控制器中的对象,我会使用弱引用,因为容器视图可能拥有这些项目。这对于嵌入式视图控制器有什么不同吗?

【问题讨论】:

    标签: ios objective-c uiviewcontroller


    【解决方案1】:

    如果嵌入是指 UIContainerView 或 UIPageView 的子级,因此您将从情节提要中将它们膨胀为 [self.storyboard instantiateViewControllerWithIdentifier:@"blahblah"],那么您应该使它们变得强大,甚至不需要将它们声明为 IBOutlet 本身.但是,如果它们是您从情节提要拖到代码的连接,那么 weak 应该没问题(但是我看不到这个,所以您可能需要提供更多细节以获得更好的帮助)。

    【讨论】:

    • 感谢您的回复;我没有考虑故事板,而是简单的 UIViewController,我主要从事非故事板项目。子 UIViewController 被设置为父 UIViewController 的 childController。
    • 答案暗示 vc(代码或 IB)的来源对其应如何声明有所不同。重要的不是一个人从哪里来,而是去哪里。如果将其添加到 vc 的 childViewControllers 数组中,则它会保留在那里,并且不需要强指针。不管 vc 是如何构建的,这都是事实。
    • 顺便说一句,没有 UIContainerView 这样的东西。
    猜你喜欢
    • 2012-10-16
    • 1970-01-01
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    • 2016-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多