0

如果我有一个 UIView 实例变量,我将它作为子视图添加到另一个视图;

使用 ARC 时调用 removeFromSuperview 是否会释放实例变量?或者我可以将它再次添加到不同的视图中吗?

4

1 回答 1

1

如果您有一个指向要添加/删除的视图的强指针,则调用removeFromSupeview不会导致对象被释放。您可以通过将 UIView 声明为 ivar 或将其声明为强属性(首选)来获得强指针。

但是,如果您没有其他指向视图的强指针,那么如果您将它从其父视图中删除,它将被 ARC 释放。(superview 保持着一个强指针,而你正在打破这种联系。)

于 2013-08-07T15:48:45.353 回答