SwiftUI Academy · Les

Ordenen met onMove

Sleep rijen om ze opnieuw te ordenen.

Les 2 van 413 stappen

Ordenen met onMove is een gratis SwiftUI Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject SwiftUI Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus SwiftUI Academy bevat in totaal 4 lessen.

Laat gebruikers rijen herschikken

Soms is de volgorde belangrijk, bijvoorbeeld in een takenlijst op prioriteit. SwiftUI laat mensen rijen bijna zonder extra code naar een nieuwe positie slepen. ✨

Maak kennis met onMove

De modifier onMove staat op je ForEach en schakelt sleepgrepen in, zodat rijen kunnen worden opgepakt en ergens anders neergezet.

De signatuur van Move

onMove geeft je twee dingen: een IndexSet met de rijen die worden verplaatst en een Int-index van de bestemming waar ze moeten komen.

func move(from source: IndexSet,
          to destination: Int) {
}

Eén arraymethode doet het werk

Swift-arrays hebben een ingebouwde methode move(fromOffsets:toOffset:) die de volgorde met één veilige aanroep voor je aanpast.

items.move(fromOffsets: source,
           toOffset: destination)

onMove koppelen

Koppel onMove(perform:) aan de ForEach en laat die naar je verplaatsfunctie wijzen. De lijst ondersteunt nu slepen om de volgorde te wijzigen.

ForEach(items) { item in
    Text(item.name)
}
.onMove(perform: move)

Bewerkingsmodus toont sleepgrepen

Sleepgrepen verschijnen vaak alleen in de bewerkingsmodus. Met een EditButton in de werkbalk zet je de lijst in de bewerkingsmodus, zodat gebruikers kunnen herschikken.

.toolbar {
    EditButton()
}

Herschikken zonder bewerkingsmodus

Binnen een eenvoudige List kun je rijen vaak meteen slepen. De bewerkingsmodus is vooral belangrijk wanneer je ook verwijder- en verplaatsings-controls toont.

State houdt de volgorde blijvend bij

Omdat move() je @State-array wijzigt, blijft de nieuwe volgorde behouden wanneer de view opnieuw wordt vernieuwd en wordt die overal weergegeven waar de array wordt gelezen.

Verplaatsen en verwijderen combineren

Je kunt zowel onMove als onDelete aan dezelfde ForEach koppelen, zodat gebruikers volledige controle hebben over het herschikken en verwijderen van rijen.

ForEach(items) { Text($0.name) }
    .onDelete(perform: delete)
    .onMove(perform: move)

Inline move-closure

Net als bij verwijderen kun je het herschikken inline schrijven. Roep gewoon move(fromOffsets:toOffset:) rechtstreeks aan binnen de onMove-closure.

.onMove { source, dest in
    items.move(fromOffsets: source,
               toOffset: dest)
}

Vloeiende sleepanimaties

SwiftUI animeert het optillen, verschuiven en neerzetten van gesleepte rijen automatisch. Je krijgt verzorgde motion zonder animatiecode te schrijven.

Korte controle

Wat geeft onMove aan je handler door?

Samenvatting: herschikken

Je hebt slepen om te herschikken toegevoegd door onMove aan een ForEach te koppelen en move(fromOffsets:toOffset:) aan te roepen op je state-array. 🎉

Gratis beginnen

Leer Swift met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
30
Lessen
120

Veelgestelde vragen

Is de les “Ordenen met onMove” gratis?

Ja — de volledige tekst van “Ordenen met onMove” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus SwiftUI Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus SwiftUI Academy bevat in totaal 4 lessen.

Wat leer ik in “Ordenen met onMove”?

Sleep rijen om ze opnieuw te ordenen. Je oefent met SwiftUI Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met SwiftUI Academy te beginnen?

Ervaring vooraf is niet nodig. SwiftUI Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “Ordenen met onMove”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over SwiftUI Academy?

Ja. Elke les over SwiftUI Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Rijen verwijderen door te vegen
  2. Ordenen met onMove
  3. Nieuwe items toevoegen
  4. Pull-to-refresh
← Terug naar SwiftUI Academy