プログラムで関数内にラベルを作成し、それらを NSMutableArray に配置してから、それらを別の関数から削除しています。問題は、ラベルが実際には画面から消えることですが、ラベルはまだメモリを使用しており、しばらくするとプログラムの動作が非常に遅くなります。
これが私のコードです:
これは、ラベルを作成する関数です。
- (void)CrearEstrellas{
for(int i=0; i< 10; i++)
{
float x = arc4random() %300;
float y = arc4random() %100;
UILabel *estrella = [[UILabel alloc] initWithFrame:CGRectMake(0, 100, 4, 4)];
estrella.tag = i;
estrella.center = CGPointMake(x,y-100);
estrella.text = @".";
estrella.textColor = [UIColor whiteColor];
[self.view.superview addSubview: estrella];
[arrayEstrellas insertObject:(estrella) atIndex: i];
}
}
そして、これはスーパービューからそれらを削除する関数です:
- (void)Lineatiempo{
for(int i=0; i<[arrayEstrellas count]; i++)
{
UILabel *estrella = [arrayEstrellas objectAtIndex:(i)];
float x = estrella.center.x;
float y = estrella.center.y;
estrella.center = CGPointMake(x,y+10);
if(estrella.center.y>200){
[estrella removeFromSuperview];
estrella = nil;
}
}
}
私は何が間違っているのか知りたいです!ありがとう。