Ios 如何获取动画中制作的最旧对象的位置?

Ios 如何获取动画中制作的最旧对象的位置?,ios,objective-c,presentation-layer,Ios,Objective C,Presentation Layer,我每秒钟都会看到一种叫做“法国炸薯条”的炸薯条。我还让它们通过动画在屏幕上移动 -(void)FrenchFrieRain{ FrenchFrie = [[UIImageView alloc] initWithFrame:CGRectMake(randomX,0,30,30)]; FrenchFrie.image = [UIImage imageNamed:@"FrenchFriesMCDonalds"]; FrenchFrie.userInteractionEnable

我每秒钟都会看到一种叫做“法国炸薯条”的炸薯条。我还让它们通过动画在屏幕上移动

-(void)FrenchFrieRain{
    FrenchFrie = [[UIImageView alloc] initWithFrame:CGRectMake(randomX,0,30,30)];
    FrenchFrie.image = [UIImage imageNamed:@"FrenchFriesMCDonalds"];
    FrenchFrie.userInteractionEnabled = YES;
    [self.view addSubview:FrenchFrie];
    [FrenchFrieArray addObject: FrenchFrie];
    [self letFrenchFrieFall];
}

-(void)letFrenchFrieFall {
    [UIView animateWithDuration:10.0f delay:0 options:UIViewAnimationOptionCurveLinear animations:^{
        FrenchFrie.frame = CGRectMake(randomX, (int)[[UIScreen mainScreen] bounds].size.height + 40, FrenchFrie.frame.size.width, FrenchFrie.frame.size.height);
    } completion:^(BOOL finished){
        [[FrenchFrieArray objectAtIndex:0] removeFromSuperview];
}];
}

我需要在动画中显示薯条的位置。我使用以下代码执行此操作:

FrenchFrieFrame = [[FrenchFrie.layer presentationLayer] frame];
从NSLogging我知道,通过这段代码,我得到了最新frie的位置,但我需要最老frie的位置。我怎样才能知道最古老的炸薯条的位置?
任何帮助都将不胜感激

您正在跟踪在
FrenchFrieArray
中创建
FrenchFries
的顺序。因此,索引
0
处的项目始终是最早的
FrenchFrie
。您可以使用:

FrenchFrieFrame = [[FrenchFrieArray[0].layer presentationLayer] frame];
要使其起作用,除了从视图中删除它之外,还应该从数组中删除
FrenchFrie

    [[FrenchFrieArray objectAtIndex:0] removeFromSuperview];
    [[FrenchFrieArray removeObjectAtIndex:0];

薯条从屏幕上掉下来,我想知道薯条和屏幕底部的篮子是否发生碰撞。如果他们没有碰撞,最后的薯条应该从屏幕上掉下来消失,否则它应该消失在篮子的中心。我无法制作最旧的FrenchFrie,因为最旧的FrenchFrie从屏幕上掉下来后,创建的第二个FrenchFrieFrame将成为最旧的。抱歉,请执行以下操作:
[((FrenchFrie*)FrenchFrieArray[0])。layer
[[FrenchFrieArray[0]layer]…
FrenchFrieFrame=[[FrenchFrieArray[0]。layer presentationLayer]frame];出现错误。我尝试了OldestFrenchFrie=[FrenchFrieArray objectAtIndex:0];FrenchFrieFrame=[OldestFrenchFrie.layer presentationLayer]frame];这没有出现错误,但如果我记录frie的位置,我会得到x-co=0和Y-co=0。此外,当我将FrenchFrie添加到数组中时,数组的值在调试区域中保持为零。