Как проверить идентификатор объекта, к которому прикоснулись (iOS)

В моем виде у меня есть массив с кучей разных точек, затем я запускаю этот массив через цикл, чтобы создать группу разных квадратов в виде. Вы также можете видеть, что я пытался использовать идентификатор доступности для создания идентификатора системы. Это, наверное, очень плохая практика, но у меня кончились идеи, ха-ха. Вот мнение:

#import "LevelOneView.h"


@implementation LevelOneView
@synthesize squareLocations;




- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
    }
    return self;
}


- (void)drawRect:(CGRect)rect
{

    squareLocations = [[NSMutableArray alloc] init];

    CGPoint dotOne = CGPointMake(1, 25);
    [squareLocations addObject:[NSValue valueWithCGPoint:dotOne]];

    CGPoint dotTwo = CGPointMake(23, 25);
    [squareLocations addObject:[NSValue valueWithCGPoint:dotTwo]];

    CGPoint dotThree = CGPointMake(45, 25);
    [squareLocations addObject:[NSValue valueWithCGPoint:dotThree]];

    CGPoint dotFour = CGPointMake(67, 25);
    [squareLocations addObject:[NSValue valueWithCGPoint:dotFour]];

    CGPoint dotFive = CGPointMake(89, 25);
    [squareLocations addObject:[NSValue valueWithCGPoint:dotFive]];

    CGPoint dotSix = CGPointMake(111, 25);
    [squareLocations addObject:[NSValue valueWithCGPoint:dotSix]];

    CGPoint dotSeven = CGPointMake(133, 25);
    [squareLocations addObject:[NSValue valueWithCGPoint:dotSeven]];

    CGPoint dotEight = CGPointMake(155, 25);
    [squareLocations addObject:[NSValue valueWithCGPoint:dotEight]];

    CGPoint dotNine = CGPointMake(177, 25);
    [squareLocations addObject:[NSValue valueWithCGPoint:dotNine]];

    CGPoint dotTen = CGPointMake(199, 25);
    [squareLocations addObject:[NSValue valueWithCGPoint:dotTen]];

    int numby = [squareLocations count];

    for (int i = 0; i < numby; i++)
    {
        NSValue *pointLocation = [squareLocations objectAtIndex:i];
        CGPoint tmpPoint = [pointLocation CGPointValue];

        UIImage *theSquare = [UIImage imageNamed:@"square.png"];

        NSString *myID = [NSString stringWithFormat:@"%d", i];
        [theSquare setAccessibilityLabel:myID];
        [theSquare drawInRect:CGRectMake(tmpPoint.x, tmpPoint.y, theSquare.size.width, theSquare.size.height)];

    }

}


@end

Итак, моя цель состоит в том, чтобы иметь возможность сказать, какой квадрат был сдвинут, когда он сдвинут! Поэтому я ищу систему, похожую на ID, чтобы я мог проверить текущее скольжение по «ID» объекта и решить, что с ним делать. Я попытался написать что-то подобное в контроллере представления:

#import "LevelOneController.h"

@interface LevelOneController ()

@end

@implementation LevelOneController
@synthesize whereStuffActuallyHappens;

- (void)viewDidLoad
{
    [super viewDidLoad];
    NSLog(@"View loaded");
}


- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *touch = [[event allTouches] anyObject];
    CGPoint touchLocation = [touch locationInView:self.view];

    for (UIView *view in self.view.subviews)
    {

        if ([touch.accessibilityLabel isEqual: @"1"] && CGRectContainsPoint(view.frame, touchLocation))
        {

            [view removeFromSuperview];
        }

    }

}




- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


@end

Еще раз вы видите, что я пытаюсь использовать метку доступности в этом случае ... ха-ха. У кого-нибудь есть идеи, как этого добиться? Есть ли способ, которым я мог бы дать каждому квадрату идентификатор, а затем проверить идентификатор этого квадрата, когда он скользит? Спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос