2016-09-13 108 views
0

我正在观看动画。当点击一个按钮,在视图中会添加类似这样的:足够从超视图中删除视图?

self.view.addSubview(view) 

而当我想的视野中消失,我只需运行:

self.view.viewWithTag(tag).removeFromSuperview() 

我的问题是,当视图被删除,它会被释放吗?我觉得,但只有在模拟器中,我的其他用户界面操作较慢并且有点迟缓。我怀疑动画仍在移除视图中运行?

+0

'addSublayers'?你是不是指'addSubview'? –

+0

是的,对不起; o) – Recusiwe

+0

仍然不正确。 –

回答

0

如果它是实例变量,那么它将不会被释放,如果它有任何引用或它是强大的。它从超级视图中移除,但存在于内存中,直到类存在。它声明和初始化它为本地然后它会得到释放我认为!

+0

我可以手动取消分配吗? – Recusiwe

+0

你可以设置'yourview = nil' !!!!!!!!如果你使用的是'arc',那么你不需要手动释放任何东西。否则在过去的'非弧形项目中,有'释放'的方法! – Lion

+0

当没有更强的对象引用时,将取消分配对象。而已。你可以使用一个实例变量,并且如果伊娃很弱并且没有其他引用,它仍然可以解除分配。 – rmaddy