wykrywanie uiimageview iPhone-non-global

Tło: Używam XCode 3.1.4, pamiętaj o tym. Proszę jednak nie komentować tego.

Muszę strzelać, strzelać i zaczynać. Po naciśnięciu ognia tworzona jest nazwa UIImageView o nazwie jeden przy użyciu funkcji IBAction. Po naciśnięciu przycisku Start tworzony jest widok UIImageview o nazwie dwa. Następnie, gdy * jeden zostanie utworzony w funkcji IBACtion, wywołam inną funkcję, używając NSTimer, który przekazuje * jeden jako parametr użytkownika. Następnie mam funkcję ruchu, która porusza się * o 20 pikseli w dół osi y. Działa to doskonale i mogę tworzyć setki UIImageView, które poruszają się jednocześnie. Robię to samo przy starcie, ale z innym UIImage i * dwa jako parametr użytkownika. To również działa doskonale. Chcę jednak utworzyć wykrywacz kolizji dla widoków UIImage utworzonych po kliknięciu tych przycisków. Ponieważ wskaźniki przypisane do tych przycisków nie są globalne, nie wiem, jak to zrobić. Poniżej zamieszczam mój kod:

-(IBAction)startWaves:(id)sender {
        start.hidden=YES;
    fire.hidden=NO;
    [NSTimer scheduledTimerWithTimeInterval:1 target:self   selector:@selector(createMeteors) userInfo:nil repeats:YES];


}


-(void)createMeteors{

    UIImageView *one = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"Meteor.png"]];
    CGRect rectOne = CGRectMake(arc4random() % (310), arc4random() % (1), 35, 35);
    [one setFrame:rectOne];
    [self.view addSubview:one];
    [NSTimer scheduledTimerWithTimeInterval:0.4 target:self selector:@selector(moveMeteorOne:) userInfo:one repeats:YES];





}

- (void)moveMeteorOne:(NSTimer *)timerOne {
    UIImageView *one = timerOne.userInfo;
    one.center=CGPointMake(one.center.x, one.center.y + 15); 
    if (CGRectIntersectsRect(one.frame, image.frame)) {
        background.image = [UIImage imageNamed:@"gameOver.png"]; 
        fire.hidden = YES; 
        image.hidden=YES; 

    }
}


-(void)createBullets{
    UIImageView *two = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"lazerBeam.png"]];
    CGRect rectTwo = CGRectMake((image.center.x), (image.center.y - 45), 7, 20);
    [two setFrame:rectTwo];
    [self.view addSubview:two];
    [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(moveBulletOne:) userInfo:two repeats:YES];

}

-(void)moveBulletOne:(NSTimer *)timerTwo {
    UIImageView *two = timerTwo.userInfo;
        two.center=CGPointMake(two.center.x, two.center.y - 15); 

}

-(IBAction)fireBullets:(id)sender {

    [self createBullets]; 

}  

questionAnswers(0)

yourAnswerToTheQuestion