Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如果我有一个 UIView 实例变量,我将它作为子视图添加到另一个视图;
使用 ARC 时调用 removeFromSuperview 是否会释放实例变量?或者我可以将它再次添加到不同的视图中吗?
如果您有一个指向要添加/删除的视图的强指针,则调用removeFromSupeview不会导致对象被释放。您可以通过将 UIView 声明为 ivar 或将其声明为强属性(首选)来获得强指针。
removeFromSupeview
但是,如果您没有其他指向视图的强指针,那么如果您将它从其父视图中删除,它将被 ARC 释放。(superview 保持着一个强指针,而你正在打破这种联系。)