Подождите, пока вы тестируете, чтобы узнать, равен ли [touch view]
конкретному представлению, так что вы можете передать это конкретное представление этому другому методу?Если так, то не имеет значения, какой он был, и имеет значение только тот, к которому он прикоснулся.
Так что вместо этого:
if ([touch view] == image1) {
[self animateReleaseTouch:image1 withLocation:location];
} else if ([touch view] == image2) {
[self animateReleaseTouch:image2 withLocation:location];
} else if ([touch view] == image3) {
[self animateReleaseTouch:image3 withLocation:location];
}
Вам нужно только это:
[self animateReleaseTouch:[touch view] withLocation:location];
Или, если вы хотите убедиться, что вы можете делать это только с вашими изображениями для ваших кусочков, вставьте их в массив и убедитесь, что это представление включено в этот массив.
// do this during setup somewhere
NSArray *imageViews = [NSArray arrayWithObjects:image1, image2, ..., nil];
// do this on touch
UIView *touchedView = [touch view];
if ([imageViews indexOfObject:touchedView] != NSNotFound) {
// not not found means found!
[self animateReleaseTouch:touchedView withLocation:location];
}
99,99% процентов времени, когда у вас есть тонна последовательно именованных переменных, вы делаете это неправильно.Вместо этого вы действительно хотите массив.