Any beginning to intermediate tutorials that anyone would recommend? I’m doing a slow series of training myself to understand swift and swiftui. 👨🏾💻
Swift Slowly: Day 15
This is the last section of the tutorial.
There were a lot of distractions today, but I’m going to finish this so that I can move on.
Section 2: Integrate Speech Recognition
Purpose: Introduce the code that will allow the application to record speech.
Although the time to go through this is pretty quick, you would really want to go back and take your time to understand how it’s calling access.
Section 3: Display Recording Indicators
Purpose: Learn about dynamically toggling interface elements to let the user know that they are being recorded.
It was pretty fun to do this section, but I’m still reminded that I don’t like ternary statement. The reason for this is that the question mark means it’s an optional if it’s next to the variable but it’s a ternary if it’s not. The rest of the statement should let the developer know, but if you are new or coming back to an old code…
I don’t feel like doing development today. I got to push through some how.
Swift Slowly: Day 14
This is the last section of the tutorial and I’m wondering what I’m going to do after this. I’m going to just do one section today because tomorrow is a big work day.
Section 1: Request Authorization
Purpose: Show how to get use of the phones different functionalities like control of the mic.
The first step is to click the “Add (+)” button but it doesn’t show up unless you have the mouse over one of the properties that are already defined. The interface has a lot of white space that could have been used for something like this and it’s a little misleading.
This is the first time I’ve seen autocomplete not work because of case sensitivity.

I’ve been working towards learning swift a little more everyday and blogging about it. I was hesitant that it would annoy my readers and that I was spending more time writing about me learning swift versus actually learning it.
At this point, I feel that it’s really helped.
Swift Slowly: Day 13
Yesterday, I stopped so that I could spend time with my family. I’m going to pick up from the draw an arc spot.
Section 2: Draw Arc
Purpose: Learn about drawing in the application
The tutorial gives me a really good example for a computed property.
private var degreesPerSpeaker: Double {
360.0 / Double(totalSpeakers)
}
Section 3: Draw the Ring
Purpose: Display the various segments for the speakers.
The following statement just looks wrong.
if speaker.isCompleted,
let index = speakers.firstIndex(where: { $0.id == speaker.id }) {
}
Are you really saving something by omitting the { and }?
Swift Slowly: Day 12
Today’s tutorial is about drawing. I’m almost done going through the entire tutorial and wondering what I should look at next.
Section 1: Creating the view
The code is pretty self explanitory until you get to places where Swift likes to pour on that sweet, sweet clusure syntax.
private var currentSpeaker: String { speakers.first(where: { !$0.isCompleted })?.name ?? "Someone" }
I had to read that line outloud to fully understand it. My brain had more question marks than the line itself. Luckily, I’ve accustomed to optionals thanks to working with Paul Hudson’s tutorials.
Also, there were some wins for the documentation popups.
Section 2: Draw an Arc
Purpose: Create a drawing on top of the circle.
I’m going to stop here because I want to spend some time with my family before bed. It’s my last night of vacation.
I don’t know if this is new but seeing the notifications builds trust that it’s working. I say this after seeing it pop up once.
Swift Slowly: Day 11
Continuing with learning about persistence tutorial
<img alt srcset="https://docs-assets.developer.apple.com/published/8b6dcf46ffef24b1ac64555436587521/600/SUI_100-003.png 1x, https://docs-assets.developer.apple.com/published/0f0b16a34e0c11fdc102fb25bb806d15/600/SUI_100-003@2x.png 2x" src="https://docs-assets.developer.apple.com/published/8b6dcf46ffef24b1ac64555436587521/600/SUI_100-003.png" width="362" height="auto">
Section 3: Method to Load Data
Purpose: Show how to load JSON
This section is pretty cut and dry and I look forward to what the rest of the application looks like. I like the fact that the tutorial shows how to load test data during development.
Section 4: Saving Data
Purpose: This is where the user’s data gets stored from one run to the next.
This is my first time seeing a do-catch statement. I other languages, I’ve seen it as a try-catch and it doesn’t have a specific line on which we are trying.
do {
let outfile = Self.fileURL
try data.write(to: outfile)
} catch {
fatalError("Can't write to file")
}
Section 5: Save and Load
Purpose: Put the finishing touches on the application.
Other than the part where I put “ObservableObject” instead of “ObservedObject”, I think this was a pretty nice tutorial.
She wasn’t ready to wake up.