BSM

Apr 19 2020

Featuring:

HWS+

HWS+ is an all new service from Hacking With Swift. As of writing, it has 3 courses, which each have a few sections. Until WWDC, HackingWithSwift will publish a new section to one of the 3 courses every day, which afterwards will be every few days.
I can say, after watching all the videos that are released, that they are from really high quality(not only the resolution, also the content🙂!), and are really recommended if you want to level up in your swift and iOS development skills.
Once you are there, be sure to check out the other courses they have here


Looping over Dictionaries

Overview

In swift, like Array's you also have dictionaries which you can also loop over with the for in loop. In this article I want to show you how to do that.

One of the crucial differences between arrays and dictionaries, is that array's are sorted, but dictionaries are not. If you try the example below a few times yourself you will see the outcome of what it means not being sorted. But of course, this is not a article about Dictionaries. So, let's get started.

How to

This is how you would loop over an dictionary:

let numberOfAnimalLegs = ["spider": 8, "ant": 6, "dog": 4, "gorilla": 2]

for (animalname, numberOfLegs) in numberOfAnimalLegs {
    print("a \(animalname) has \(numberOfLegs) legs")
}

That will print out this:

a dog has 4 legs
a ant has 6 legs
a gorilla has 2 legs
a spider has 8 legs

At the first look, this code seems like a regular for in loop. But, if you look closely, after the for keyword there are 2 parameters specified in parentheses: animalName and numberOfLegs. You see, I first specified the animal name, and then the number of legs. This is not because swift magically sees that one needs to be a string, and the other one an integer and assigns the string to the string etc(as much I would love if swift had that built-in). But, this is because when looping over a dictionary, you specify the parameter names in the order key-value. In our case this is first a String, the animal name, then an Integer, the number of legs. After that, it is just the regular for in loop, and you have acces to both of the parameters so you can apply your own logic.

Don’t forget that you can email me at questions@bdev-code.nl for any questions, feedback or if you just wanted to say hi.