Spa*_*Dog 3 iphone iphone-sdk-3.0
我即将做一个
[vistaX removeFromSuperview];
Run Code Online (Sandbox Code Playgroud)
在删除之前,如何测试超级视图中是否存在vistaX?删除不存在的视图会导致应用程序崩溃...
谢谢你的帮助.
Chr*_*her 14
你可以用:
if(vistaX.superview)
[vistaX removeFromSuperview];
Run Code Online (Sandbox Code Playgroud)
虽然,我不知道如果没有superview,removeFromSuperview会失败.你确定这是问题吗?它可能与removeFromSuperview发布视图的事实有关吗?
编辑:根据你在下面的评论,听起来vistaX的保留计数第一次到0并且它被释放.如果您不希望发生这种情况,请在您的类中添加一个保留vistaX的属性(即"@property(retain)"),这样您就可以确保它始终存在.
编辑编辑:你有superView或其祖先的处理?如果是这样,我建议在vistaX视图上设置唯一标记.这可以通过编程方式或通过IB完成.然后,使用其中一个祖先上的viewWithTag选择器按其唯一标记搜索vistaX视图.