iOS -UITapGestureRecognizer -Селектор с аргументами

В моем приложении я динамически добавляю изображения в свое представление во время выполнения. Я могу иметь несколько изображений на экране одновременно. Каждое изображение загружается из объекта. Я добавил tapGestureRecongnizer к изображению, чтобы при касании вызывался соответствующий метод.

    UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageTapped:)];
    [plantImageView addGestureRecognizer:tapGesture];

Моя проблема в том, что я не знаю, какое изображение я нажал. Я знаю, что могу вызвать tapGestureRecognizer.location, чтобы получить местоположение на экране, но это не очень хорошо для меня. В идеале я хотел бы иметь возможность передать объект, из которого было загружено изображение, в жест касания. Однако кажется, что я могу передать только имя селектора «imageTapped:», а не его аргументы.

- (IBAction)imageTapped:(Plant *)plant
{
   [self performSegueWithIdentifier:@"viewPlantDetail" sender:plant];
}

Кто-нибудь знает способ, которым я могу передать свой объект в качестве аргумента в tapGestureRecongnizer или каким-либо другим способом, которым я могу обработать его?

Спасибо

Брайан

15
задан Keavon 18 May 2014 в 17:18
поделиться