Это не так, как в циклах.То, что вы указали тип, не означает, что будут затронуты только объекты этого типа.Каждое представление в subviews
отвечает на removeFromSuperview
, поэтому независимо от того, как оно было отлито, оно все равно будет удалено.
Если вы хотите удалить только Sprite
объекты, тогда вам нужнопроверьте класс каждого объекта.
for (UIView *view in self.view.subviews)
{
if ([view isKindOfClass:[Sprite class]])
[view removeFromSuperview];
}