Я новичок в Obj C, но знаком с ООП. Я работаю над игрой, которая использует обнаружение столкновений, чтобы набирать очки и изменять свойства UIImageView, такие как цвет фона.
У меня есть конечное число UIImageViews, которые являются подпредставлениями большего представления. Я могу вручную проверить наличие коллизий и установить цвета фона UIImageViews соответственно. Проблема в том, что это создает довольно большой блок if / else, который, как я вижу, выходит из-под контроля. В JavaScript я могу использовать цикл for и eval () для вычисления строки + i (цикл var), а затем просто вызвать новый var.backgroundColor = someColor;
Кажется, что eval не используется в OBJ C, поэтому я ищу эквивалент, который позволит мне создать цикл, который выполняет тот же блок кода для данного объекта, который отличается от других объектов только именем:
Пример:
if (someStatement == true) {
object_01.someProperty = newProperty;
} else if (someOtherStatement == true) {
object_02.someProperty = newProperty;
} else if (someOtherOtherStatement == true) {
object_03.someProperty = newProperty;
}
Я хочу написать выше, как цикл. Я понимаю, что могу использовать массив, но если так, то как? Кроме того, я хочу просмотреть циклы CGRect, которые не хранятся должным образом в массиве.
Любая помощь с благодарностью!
Damon