I realize that you might have thought “wow, we’re looking at machine learning already?” After all, this is only day 27 of a 100-day course. But, as Andre Gide said, “you cannot discover new oceans unless you have the courage to lose sight of the shore.”
Heh, #100DaysOfSwiftUI read my mind!
Today we built a UI on top of the Core ML model we trained yesterday. Straightforward but fun!

I was not expecting “Training a model with Create ML” to be a part of the Day 26 content!
As someone who has built a lot of training content this past year for work, I know how valuable it is to create fun/engaging exercises, so it impresses me to see Machine Learning (ML) in #100DaysOfSwiftUI
Haha this looks so awful, but day 25’s challenge was fun: to build a rock/paper/scissors game from scratch! #100DaysOfSwiftUI

Day 24 was straightforward—a test and a few little changes to make on our own to our recent projects. I had to go back to remember the syntax for custom modifiers. Onward! #100DaysOfSwiftUI
Today I learned that the order of modifiers does matter:
Text("Hello, world!")
.padding()
.background(.red)
.padding()
.background(.blue)
.padding()
.background(.green)
.padding()
.background(.yellow)
Day 23 in the books! #100DaysOfSwiftUI

Day 22 was really easy—added the score counter and a different alert for when the game is “over.” #100DaysOfSwiftUI

Day 21 had us building a mini flag-guessing game, but without the score implemented. I will be absolutely shocked, shocked I say when we implement the score as the next day’s challenge. 🇺🇸 🇺🇦 🇪🇸 #100DaysOfSwiftUI

Day 20 is all about stacks, gradients, buttons, and images. I find it more fun to keep all the sample code in one project and let it pile up. 🤪 #100DaysOfSwiftUI

Uh oh… lbpost.com/news/boil…

What does the Swift community use for code formatting/linting?
Ideally I’d like to have something that only runs when I invoke it with a keyboard shortcut or maybe on every save.
Day 19, very fun to have a day focused on building a new app from scratch! This was my take on the challenge. #100DaysOfSwiftUI

Day 18 is a short quiz and adding some new code on our own without any guidance—it took so little time (9 minutes 😝) that I’m tempted to just start on the next day, but I will resist! #100DaysOfSwiftUI
This definitely trips me up:
Tip: It’s tempting to think that modifier should be attached to the end of the
NavigationStack
, but it needs to be attached to the end of theForm
instead. The reason is that navigation stacks are capable of showing many views as your program runs, so by attaching the title to the thing inside the navigation stack we’re allowing iOS to change titles freely.
I’m not sure I 100% understand the reasoning here… excited to learn more. It’s still only day 17! #100DaysOfSwiftUI
I have a lot to learn about what enables this syntax for two-way binding (note the $
):
struct ContentView: View {
@State private var name = ""
var body: some View {
Form {
TextField("Enter your name", text: $name)
Text("Hello, world!")
}
}
}
Day 16, starting off with creating a new iOS app in Xcode and seeing everything that’s changed since I last used it almost 12 years ago. Hitting Run for the first time… ah it’s so exciting! #100DaysOfSwiftUI
Day 15 is a review of the last two weeks of material! #100DaysOfSwiftUI
I kept on going back to the individual pages to find the syntax I needed while working on the tests, so I’m happy to have it all on one page: www.hackingwithswift.com/articles/…
Day 14 is optionals, guards, nil coalescing, optional chaining, and optional try.
Guards are new to me but I like them:
func double(number: Int?) -> Int? {
guard let number = number else {
return nil
}
return number * 2
}
Two weeks in the books! #100DaysOfSwiftUI
My Series 10 has had really inconsistent battery life (it died on me 8 miles into a run last week 🙃) so I’m happy to see potential fixes in this watchOS update.
