gpt4 book ai didi

iphone - 两次调用 removeFromSuperview 会导致崩溃或副作用

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

我有一个要添加到主视图 Controller 的 UIView 元素。

由于我的代码设计,碰巧 removeFromSuperview 在我代码的不同地方被调用了两次。

[myview removeFromSuperview];

我的代码就是这样,所以我想知道调用“removeFromSuperview”是否会导致任何问题。

或者我如何检查 View 是否在父 View 中并且只删除它。

例如

if (myview in superview)
[myview removeFromSuperview];
else
do nothing

最佳答案

removeFromSuperview 的文档说明如下:

If the receiver’s superview is not nil, the superview releases the receiver. If you plan to reuse a view, be sure to retain it before calling this method and release it again later as appropriate.

这意味着不应发生崩溃或副作用,并且您所询问的检查已通过此方法的实现执行。

但是,如果您需要检查您的 View 是否作为 subview 添加到其他 View ,您可以使用以下代码:

if( theView.superview != nil )
{
// theView is a subview for some view
}

关于iphone - 两次调用 removeFromSuperview 会导致崩溃或副作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8293887/

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