Використання дій Повтору у Швидких командах
Дії «Повторити» і «Повторити з кожною» дозволять вам запустити групу дій у швидкій команді кілька разів поспіль.
Використання дії Повтору
Коли ви додаєте дію «Повторити» до своєї швидкої команди, ця дія включає два маркери: Повторити (не видно як окрему позначку) і Кінець повторити. Розмістіть дії, які ви хочете повторити між маркерами «Повторити» і «Кінець повтору», потім укажіть кількість разів, яку ви хочете, щоб дія повторювалася. Коли швидка команда виконується, дії, поміщені між маркерами, виконують ту кількість циклів, яку ви вказали.
Наприклад, цикл повторення, що містить дію «Вібрувати пристрій» із заданим значенням «Повторити 3 рази» вібрує вашим пристроєм iOS тричі, коли швидку команду запущено.
Ви можете помістити необмежену кількість дій у цикл повторення. Дії виконуються по черзі (згори донизу), і коли досягнуто останньої дії, швидка команда повертається до першої дії, потім виконується ще раз (указану кількість разів).
Порада. Ви можете розміщувати дії «Повторити» всередині одна одної у швидкій команді: У редакторі швидкої команди потягніть другу дію «Повторити», щоб вона перетиналася з нижньою частиною першої дії «Повторити». Другу дію «Повторити» вбудовано (з відступом) попід першою дією «Повторити».
Про потік даних у дії «Повторити»
Для кожної ітерації циклу повторення вихідні дані останньої дії збираються у список, і цей список стає вихідними даними дії «Повторити» в цілому.
Наприклад, дія «Повторити», яка виконується чотири рази та містить дію «Отримати останні фото», на виході видає найсвіжіші знімки, збережені до Фотоплівки при кожному повторенні циклу. Після всіх чотирьох ітерацій вихідні дані збираються разом, і створюється список із чотирьох ідентичних фото. Чотири фото стали вихідними даними дії повторення в цілому, і потім були передані до наступної дії після циклу повторення.
Дізнайтеся більше про порядок вхідних і вихідних даних Вступ до принципів роботи швидких команд.
Порада. Торкніть і тримайте параметр повтору, щоб задати кількість повторів для змінної. Наприклад, якщо ви додаєте змінну «Питати щоразу» до параметра Повтору в дії «Повторити», вас попросять обрати, скільки разів має повторитися цикл, коли швидку команду запущено.
Використання дії Повтору з кожним
Дія «Повторити для кожного» бере список елементів як вхідні дані й виконує ту саму групу дій один раз для кожного елемента в списку. Це корисно, якщо ви працюєте з багатьма файлами або з багатьма елементами контенту. Цей тип циклу повторюється, доки кожен елемент, переданий до дії «Повторити з кожною», не повториться.
Наприклад, якщо ви маєте дію «Отримати наступні події», якій задано видобути чотири наступні події Календаря, і ви поміщаєте дію «Повторити для кожного» після тієї дії, цикл повторення виконується чотири рази, і кожне повторення отримує по одній події Календаря як вхідні дані.
Коли ви додаєте дію «Повторити з кожною» до своєї швидкої команди, ця дія включає два маркери: Повторити з кожною (не видно як окрему позначку) і Кінець повторити.
У кінці циклу повторення вихідні дані, що передаються до маркера «Кінець повтору» під час кожної ітерації, збираються разом і передаються як вихідні дані дії «Повторювати для кожного» як одне ціле.
Змінна Елемента повтору
Дія «Повторити з кожною» пропонує особливу змінну для відстеження поточного елемента: Елемент повторення. Змінна елемента повторення оновлюється після кожної ітерації циклу, вміщаючи елемент, переданий як вхідні дані для тієї ітерації.
Наприклад, якщо ви передаєте 10 елементів Календаря до дії «Повторити для кожного», змінна одиниці повторення представляє одну з подій Календаря у кожному повторенні, поки швидка команда виконує цикли до кожної з подій Календаря.
Примітка. Якщо ви помістили дію «Повторити з кожною» усередину іншої дії «Повторити з кожною», назва змінної змінюється на «Повторити елемент 1» на позначення внутрішнього повторення елемента, на «Повторити елемент 2» для глибшого зациклення і так далі.
Змінна Покажчика повтору
Усі цикли повторення пропонують спеціальну змінну під назвою «Повторити індекс», що використовується, щоб стежити за поточним повторенням циклу. Змінна індексу повторення містить кількість разів, яку цикл повторювався дотепер, починаючи з 1 для першої ітерації циклу і одиничним кроком для всіх наступних. Коли цикл виконується вдруге, індекс повторення становить 2. Коли цикл виконується втретє, індекс Повтору має значення 3 і так далі.
Примітка. Якщо ви помістили дію «Повторити» всередину іншої дії «Повторити» (тобто створили вбудовані цикли повторення), назва змінної внутрішньої дії «Повторити» змінюється на «Повторити з кратністю 2». Додаткова вбудована дія Повторення може запропонувати змінну «Повторити покажчик 3» і так далі.
Докладну інформацію наведено в статті Використання змінних у Швидких командах.
Створення нескінченних циклів
Хоча «Швидкі команди» не пропонує дію для багаторазового запуску групи дій назавжди, ви можете емулювати цю модель поведінки, використовуючи дію «Запустити швидку команду». Дія «Запустити швидку команду» дозволяє вам запустити одну швидку команду всередині іншої. Налагодьте дію «Запустити швидку команду» так, щоб вона виконувала ту саму швидку команду, всередині якої вона міститься, швидка команда виконується від початку до кінця неодноразово, поки ви не зупините цю швидку команду.
Тестування вихідних даних
Коли ви вчитеся, як працювати з Повторити і Повторити для кожного, корисно буде протестувати результати, спродуковані після маркера «Кінець повторення», щоб пересвідчитися, що цей контент є саме тим, що ви намітили. Помістіть дію Швидкого перегляду після маркера Кінець повторення для передогляду елементів, які на виході видає цикл повторення.
Ви також можете помістити дію «Показати попередження» після маркера Кінця повторення та вставити Магічну змінну Результатів повторення у блок повідомлення для показу тексту, виданого циклом як вихідні дані. Якщо ви тестуєте цикл, що посередині довгої швидкої команди, у пригоді стане дія «Показати оповіщення» для передогляду результатів, бо ви можете додати кнопку «Скасувати» до оповіщення, щоб припинити швидку команду саме на тому етапі циклу.