Мне нужно сделать несколько разных видов, содержащих 72 светодиодных индикатора. Я создал класс светодиодов, чтобы я мог проходить через светодиоды и устанавливать для них разные цвета (зеленый, красный, оранжевый, синий и т. Д.).
Затем светодиод загружает соответствующий .png.
Это работает нормально, я зацикливаю светодиоды и устанавливаю их.
Теперь я знаю, что в какой-то момент им нужно будет не просто включить / выключить изменение цвета, но и включить с небольшой задержкой. Как эквалайзер.
У меня есть 5-10 просмотров, содержащих 72 светодиода, и я хотел бы достичь вышеуказанного с минимальным объемом памяти / нагрузки на процессор.
for(LED *l in self.ledArray) {
[l display:Green];
}
Я просто повторяю цикл, как показано выше, и внутри светодиода есть switch case
, который выполняет правильную логику.
Если бы это были настоящие светодиоды и микроконтроллер, я бы использовал sleep(100)
или подобное в цикле, но я бы действительно хотел избежать подобных вещей по очевидным причинам.
Я думал, что выполнение performOnThread withDelay
действительно потребовало бы, поэтому UIView animation
изменение альфа и NSOperation также было бы большим подъёмом для небольшой функции.
Есть ли эффективный и умный способ обойти это?
Спасибо за вдохновение:)