Herhalende taken gebruiken in Opdrachten
Met de taken 'Herhaal' en 'Herhaal voor elk onderdeel' kun je een groep taken binnen een opdracht meerdere keren achter elkaar laten uitvoeren.
Een herhalende taak gebruiken
Wanneer je een taak 'Herhaal' toevoegt aan de opdracht, bevat de taak twee markeringen: 'Herhaal' (niet zichtbaar als afzonderlijke tag) en 'Anders' en 'Stop herhalen'. Plaats de taken die je wilt herhalen tussen de markeringen 'Herhaal' en 'Stop herhalen', en geef vervolgens op hoe vaak je de taak wilt herhalen. Wanneer de opdracht wordt uitgevoerd, worden de taken tussen de markeringen het opgegeven aantal keren herhaald.
Een herhalingslus die bijvoorbeeld een taak 'Laat apparaat trillen' bevat en waarvoor 'Herhaal' is ingesteld op '3 Keer', zorgt ervoor dat je iOS-apparaat drie keer trilt wanneer de opdracht wordt uitgevoerd.
Je kunt een onbeperkt aantal taken in een herhalingslus plaatsen. De taken worden in de aangegeven volgorde uitgevoerd (van boven naar beneden), en wanneer de laatste taak is bereikt, springt de opdracht terug naar de eerste taak, waarna de opdracht opnieuw wordt uitgevoerd (totdat het opgegeven aantal keren is bereikt).
Tip: Je kunt herhalende taken in elkaar nesten in een opdracht: Sleep in de opdrachteneditor een tweede taak 'Herhaal', zodat deze het onderste gedeelte van de eerste taak 'Herhaal' overlapt. De tweede herhalende taak wordt genest (ingesprongen) onder de eerste herhalende taak.
Over de gegevensstroom in een taak 'Herhaal'
Voor elke herhaling van een herhalingslus wordt de uitvoer van de laatste taak verzameld in een lijst. Deze lijst wordt de uitvoer van de taak 'Herhaal' als geheel.
Stel dat we een taak 'Herhaal' hebben die vier keer wordt uitgevoerd en die een taak 'Haal nieuwste foto's op' bevat. De uitvoer van de herhalende taak als geheel bestaat uit de laatste foto die tijdens elke herhaling van de lus in Foto's is bewaard. Als alle vier de herhalingen zijn voltooid, worden de verschillende uitvoergegevens verzameld en wordt er een lijst met vier identieke foto's gemaakt. De vier foto's worden de uitvoer van de taak 'Herhaal' als geheel en worden vervolgens doorgegeven aan de taak die na de herhalingslus wordt uitgevoerd.
Zie Werking van opdrachten voor meer informatie over de stroom van invoer- en uitvoergegevens.
Tip: Houd je vinger op de herhaalparameter om het aantal herhalingen voor een variabele in te stellen. Als je bijvoorbeeld de variabele 'Vraag elke keer' toevoegt aan de parameter 'Herhaal' in de taak 'Herhaal', wordt je tijdens de uitvoering van de opdracht gevraagd hoe vaak de lus moet worden herhaald.
De taak 'Herhaal voor elk onderdeel' gebruiken
De taak 'Herhaal voor elk onderdeel' neemt een lijst met onderdelen als invoer en voert vervolgens één keer dezelfde groep taken voor elk onderdeel in de lijst uit. Dit is handig als je met verschillende bestanden of verschillende inhouditems werkt. Dit type lus wordt herhaald totdat elk onderdeel dat aan de taak 'Herhaal voor elk onderdeel' is doorgegeven, is herhaald.
Als je bijvoorbeeld een taak 'Haal komende activiteiten op' hebt ingesteld om de volgende vier aanstaande agenda-activiteiten op te halen, en je vervolgens een taak 'Herhaal voor elk onderdeel' achter de taak plaatst, wordt de herhalingslus vier keer uitgevoerd en krijgt elke herhaling een van de agenda-activiteiten als invoer.
Wanneer je een taak 'Herhaal voor elk onderdeel' toevoegt aan de opdracht, bevat de taak twee markeringen: 'Herhaal voor elk onderdeel' (niet zichtbaar als afzonderlijke tag) en 'Stop herhalen'.
Aan het einde van de herhalingslus wordt de uitvoer die tijdens elke herhaling aan de markering 'Stop herhalen' is doorgegeven, verzameld en als uitvoer doorgegeven aan de taak 'Herhaal voor elk onderdeel' als geheel.
De variabele 'Herhaal onderdeel'
Bij de taak 'Herhaal voor elk onderdeel' kun je een speciale variabele gebruiken om het huidige onderdeel te volgen: "Herhaal onderdeel". De variabele 'Herhaal onderdeel' wordt met elke herhaling van de lus bijgewerkt, en bevat het onderdeel dat voor die herhaling als invoer wordt doorgegeven.
Als je bijvoorbeeld tien agenda-onderdelen doorgeeft aan een taak 'Herhaal voor elk onderdeel', vertegenwoordigt de variabele 'Herhaal onderdeel' een van de agenda-activiteiten in elke herhaling terwijl de opdracht elk agenda-onderdeel doorloopt.
Opmerking: Als je een taak 'Herhaal voor elk onderdeel' in een andere taak 'Herhaal voor elk onderdeel' hebt geplaatst, krijgt de variabele de naam 'Herhaal onderdeel 1' om het geneste herhalingsonderdeel aan te geven, 'Herhaal onderdeel 2' voor de diepere lus, enzovoort.
De variabele 'Herhaal index'
Bij alle herhalingslussen kun je de speciale variabele 'Herhaal index' gebruiken om de huidige herhaling van de lus bij te houden. De variabele 'Herhaal index' bevat het aantal keren dat een lus tot nu toe is herhaald. Bij de eerste herhaling van de lus is de waarde van deze variabele '1'; de waarde wordt met elke volgende herhaling met één opgehoogd. Wanneer de lus voor de tweede keer wordt uitgevoerd, is de 'Herhaal index' 2. Wanneer de lus voor de derde keer wordt uitgevoerd, is de 'Herhaal index' 3, enzovoort.
Opmerking: Als je een taak 'Herhaal' binnen een andere taak 'Herhaal' hebt geplaatst (en dus geneste herhalingslussen hebt aangemaakt), verandert de naam van de variabele van de binnenste taak 'Herhaal' in 'Herhaal index 2'. Een volgende geneste taak 'Herhaal' resulteert in de variabele 'Herhaal index 3', enzovoort.
Zie Variabelen gebruiken in Opdrachten voor meer informatie.
Oneindige lussen maken
Hoewel Opdrachten geen taak biedt voor het oneindig herhalen van een groep taken, kun je dit gedrag wel nabootsen met behulp van de taak 'Voer opdracht uit'. Met de taak 'Voer opdracht uit' kun je een opdracht binnen een andere opdracht uitvoeren. Configureer de taak 'Voer opdracht uit' voor het uitvoeren van de opdracht waarin de taak is opgenomen. De opdracht wordt dan van begin tot einde herhaaldelijk uitgevoerd totdat je de opdracht stopt.
De uitvoer testen
Als je gaat experimenteren met de taken 'Herhaal' en 'Herhaal voor elk onderdeel', is het handig om de geproduceerde resultaten te testen na de markering 'Stop herhalen', om er zeker van te zijn dat dit de gewenste inhoud is. Plaats een taak 'Snelle weergave' na de markering 'Stop herhalen' om een voorvertoning te bekijken van de onderdelen die de herhalingslus als uitvoer geeft.
Je kunt ook een taak 'Toon melding' na de markering 'Stop herhalen' plaatsen en een magische variabele 'Herhaal resultaten' in het berichtvenster plaatsen om de tekst weer te geven die door de lus is uitgevoerd. Als je een lus test die in het midden van een lange opdracht staat, is het handig om via een taak 'Toon melding' een voorvertoning van de resultaten te bekijken, aangezien je een knop 'Annuleer' in de waarschuwing kunt opnemen om de opdracht op dat punt in de lus te stoppen.