0

我是学习目标c的初学者。我想让我的 iphone 应用程序做这件事:

  • 如果触摸A区,做XXXXX
  • 如果触摸 B 区,做 YYYYY
  • 如果同时触摸A&B区域,做ZZZZZZ

我认为我需要做的第一件事是保存每次触摸的坐标,然后检查正确区域中的所有坐标。

我使用 NSMutableArray 保存坐标,但我不知道如何获取数组中的内容。

这是我的代码:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{

    NSMutableArray *Xarray;
    NSMutableArray *Yarray;

    Xarray=[NSMutableArray arrayWithCapacity:[touches count]];
    Yarray=[NSMutableArray arrayWithCapacity:[touches count]];


    for(UITouch *touch in touches)
    {   
        CGPoint pstart=[touch locationInView:self.view];
        [Xarray addObject:[NSNumber numberWithFloat:pstart.x]];
        [Yarray addObject:[NSNumber numberWithFloat:pstart.y]];
    }    
}

非常感谢!

4

1 回答 1

1

NSMutableArray是 的子类NSArray,其文档位于https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSArray_Class/NSArray.html#//apple_ref/occ/cl/NSArray其中例如,您会发现访问数组中元素的方法称为objectAtIndex:. 因此,例如,Xarray objectAtIndex:0获取数组中的第一个元素。还有一些方法可以一次提取多个元素,迭代数组中的所有对象等。

对于您可能真正想要的应用程序indexOfObjectPassingTest:(测试将寻找给定区域内的位置)。

于 2012-05-11T10:05:38.053 回答