for文でランダムな位置に作成した複数のImageViewが重なった場合、重なったImageViewだけを削除したいのですが、tagをつけたり配列に格納したりしてみましたが、うまく動作しません
どうすればよいかわからないので質問させていただきました。

-(void)displayImages
{
    int total = 5;

    for (int i=0; i<total; i++) {
        UIImageView *holeImageView;
        int randOx = 10+arc4random_uniform(240);
        int randOy = 60+arc4random_uniform(430);
        NSInteger tag = i;

        holeImageView = [UIImageView new];
        holeImageView.frame = CGRectMake(randOx,randOy,40,40);
        holeImageView.image = [UIImage imageNamed:@"startButton.png"];
        [self.view addSubview:holeImageView];
        [holeImageView setTag:tag];
        [ObjectArray addObject:holeImageView];

        if (CGRectIntersectsRect (holeImageView.frame,holeImageView.frame)){
            NSLog(@"%dぶつかりました",i);
            [ObjectArray removeObject:holeImageView];  
        }
    }         
}

追記させていただきます

       if (CGRectIntersectsRect (ObjectArray[i].frame,holeImageView.frame)){
       if (CGRectIntersectsRect (holeImageView[i].frame,holeImageView.frame)){

など他にも思いつくものは試しましたがエラー出ましたので、こちらにどのように記述すれば良いかお聞きしたかったのですが、質問文の書き方が悪く、大変申し訳ないです。