gpt4 book ai didi

objective-c - 我需要在释放之前从 UIButton 中删除目标吗?

转载 作者:可可西里 更新时间:2023-11-01 06:17:27 25 4
gpt4 key购买 nike

几乎说明了一切......我已经向我的 UIButton 添加了几个目标,我只需要知道我是否需要在 UIButton 被释放(和 dealloc'd)之前删除它们,或者是否可以只是假设它会自己整理好吗?

谢谢!

编辑:场景是这样的:一个 UIViewController 创建一个按钮并将目标设置为 self:

UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
[btn addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchDown];
[self.view addSubview:btn];

所以现在按钮由 super View 拥有,并在运行循环结束时自动释放。所以,如果我稍后从 View 中删除按钮,它会 dealloc 好吗,还是我还需要执行 removeTarget:action:forControlEvents: 才能让按钮消失?我猜是前者,因为我希望目标是分配的而不是保留的,但是有人确认一下会很好吗? :)

最佳答案

您是说您还有其他对象将 UIButton 用作目标吗?

如果是这样 - 如果这些对象被正确实现 - 它们应该将它们的成员变量 getter/setter 属性设置为“保留” - 这意味着它们应该持有一个对你的 UIButton 的引用

因此,您可以释放 UIButton,但如果引用对象仍然引用它 - 它们将保留 UIButton。

当然,如果我正确地低估了你的问题......

关于objective-c - 我需要在释放之前从 UIButton 中删除目标吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4069970/

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