这不是一个真正的问题,我只想澄清一下。我在 UIButton 上添加了一些子视图(每个按钮都有一个标签),我知道可能有 4 个或 5 个子视图。所以,当我想删除一些子视图(在这种情况下特别是第 4 个和第 5 个)时:
int cnt=[[(UIView *)[self.scrollView viewWithTag:index] subviews] count];
if (cnt==4) {
[[[(UIView *)[self.scrollView viewWithTag:index] subviews] objectAtIndex:3] removeFromSuperview];
}
if (cnt==5) {
[[[(UIView *)[self.scrollView viewWithTag:index] subviews] objectAtIndex:3] removeFromSuperview];
//[[[(UIView *)[self.scrollView viewWithTag:index] subviews] objectAtIndex:4] removeFromSuperview]; <-- this crash
[[[(UIView *)[self.scrollView viewWithTag:index] subviews] objectAtIndex:3] removeFromSuperview];
}
注释行当然不能执行,因为没有更多的5个,而是4个子视图。所以我必须删除指向同一索引两次的视图。我想知道删除它们是否安全,并且我想确保最后一个视图在数组中移动了一个位置[[self.scrollView viewWithTag:index] subviews]
。
希望很清楚。谢谢