gpt4 book ai didi

ios - 弱 IBOutlet UIView 属性将变为 nil

转载 作者:可可西里 更新时间:2023-11-01 04:29:57 26 4
gpt4 key购买 nike

我在 nib 文件中有两个 UIView,我使用 IBOutletweak 关键字将它们设置为我的 View Controller 的属性。

但是,当我第一次使用 self.view1 来指向 Nib 中的 View 时,它起作用了。但是当我稍后使用它时,这两个属性变成了nil

使用 strong 属性可以解决这个问题。但我总是对 IBOutlet 属性使用 weak。为什么在这种情况下它变成了零?

最佳答案

您需要对 nib 文件中的顶级项目有一个 strong 引用。如果你的 nib 的顶层有两个 View ,那么你应该有对它们的 strong 引用,而不是 weak

这些顶级 View 的任何 subview 都可以用 weak 引用创建 IBOutlets,因为顶级 View 保持对这些 subview 的强引用,所以你不需要必须。

大多数时候,weak 就足够了,因为存在对顶级对象的隐式 strong 引用。例如,如果你有一个 View Controller 的 nib,那么 View Controller 对象会保持对顶级 View 的强引用,因为它是 view 属性,这意味着你可以有一个 weak 持有任何其他对象。

关于ios - 弱 IBOutlet UIView 属性将变为 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22651246/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com