检查在removeFromSuperview之前viewWithTag是否存在
问题描述:
使用[[self.view viewWithTag:999] removeFromSuperview];
安全地检查视图是否真的存在?检查在removeFromSuperview之前viewWithTag是否存在
在模拟器上没有错误,但它会在真实设备上导致没有问题?
有没有不使用这种情况的缺点?
答
直接拨打[[self.view viewWithTag:999] removeFromSuperview];
完全可以。如果视图存在,那么[self.view viewWithTag:999]
将返回视图,并且它将从其超级视图中移除。如果视图不存在,那么[self.view viewWithTag:999]
将返回nil
和传递任何消息到零不会采取任何影响。
因此,在您的情况下,不需要检查视图是否实际存在或不存在。从苹果文档
答
答案UIView的
如果接收方的上海华不为零时,上海华盈释放 接收器。如果您打算重新使用视图,请务必在调用此方法之前保留该视图,并在适当时候再次释放该视图。
切勿在视图的drawRect:方法内调用此方法。
带标签的视图返回nil时不会发生任何事情。