: Wow, I’m impressed with myself for learning and SwiftData/SwiftUI for being easy. For Day 59, we had …

: Day 58: Continuing yesterday’s project and learning about NSPredicate, changing fetch requests …

: Starting a new project for Day 57, so don’t have much to show so far. We’re learning how to edit …

: Day 56 was a review and challenge (on our own) day, so I updated the detail view to handle missing …

: For Day 55 we learned how to delete SwiftData objects, sort queries using SortDescriptor, and add …

: For Day 54, we earnestly started the implementation of a “Bookworm” app and created new SwiftData …

: Day 53 is the start of our first project with SwiftData. So far all the terminology reminds me of my …

: Day 52 is a review quiz and challenge day. I found the challenges pretty easy this time around! …

: It’s our first day using the debugger! I love debuggers so much. I feel like teaching how to use …

: Continuing our new project in Day 50 by using CodingKeys to make @Observable get along with …

: New project day! Day 49 was focused on async/await, URLSession.shared.data(), AsyncImage, and the …

: Day 48 included watching two videos. Paul’s had a fun premise (“What Star Wars Can Teach Us About …

: Day 47 was a review and challenge day, with an entire app we had to build from scratch on our own. …

: Day 46 was a review quiz and a challenge! Today is the first day I’ve run into this error (that I’ve …

: Adding a tab bar wasn’t part of Day 45, but I wanted to keep my other view and start “fresh” with …

: For Day 44 I made this abomination while learning the ins and outs of NavigationPath. …

: I had been wondering about how to only load detail views when they’re navigated to, and in Day 43 I …

: Day 42 (hey!) is a challenge day and I am taking it easy with just a refactoring of some views and …

: Day 41 was our last day of adding pre-made #100DaysOfSwiftUI code to this Moonshot project. …

: For Day 40 we put into practice what we learned yesterday by starting the implementation of the …

: We’re starting a new “Moonshot” project for Day 39 and learning about Image resizing, LazyVStack, …

: Day 38 included a quiz and some prompts for us to add features on our own to the app, which included …

: I got my flu shot and COVID booster yesterday morning and paid for it with fever dreams last night. …

: Day 37, using the APIs we learned yesterday in a new app, but this stood out to me (emphasis mine): …

: Day 36 is the start of a new project, and thus a day of learning new APIs: @Observable with class, …

: I finished the Day 35 challenge today. It’s been a while since I’ve been “challenged” when …

: Yesterday I looked at the Day 35 challenge (build a new app from just a description, no code) and I …

: Day 34 was a quiz and challenge day where we went back to one of our previous projects and added …

: Day 33… continuing with animations and I swear this is more fun than it looks from a single …

: Yes, I do embrace absolute chaos when I’m first trying the provided sample code so I can keep …

: Day 31 was a challenge day where we took a test and had to update our app with only some …

: Back on it after being sick the last couple days… for day 30, we mostly copied code from the …

: Day 29 is bringing me back to my Objective-C days: let range = checker.rangeOfMisspelledWord(in: …

: Day 28 was straightforward—a review quiz and some challenges for us to modify our most recent app. …

: I realize that you might have thought “wow, we’re looking at machine learning already?” After all, …

: I was not expecting “Training a model with Create ML” to be a part of the Day 26 content! As someone …

: Haha this looks so awful, but day 25’s challenge was fun: to build a rock/paper/scissors game from …

: Day 24 was straightforward—a test and a few little changes to make on our own to our recent …

: Today I learned that the order of modifiers does matter: Text("Hello, world!") .padding() …

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

: Day 21 had us building a mini flag-guessing game, but without the score implemented. I will be …

: Day 20 is all about stacks, gradients, buttons, and images. I find it more fun to keep all the …

: Uh oh… lbpost.com/news/boil…

: Oh macOS Preview’s signature feature, I love you but this is not acceptable. 😅

: What does the Swift community use for code formatting/linting? Ideally I’d like to have something …

: Day 19, very fun to have a day focused on building a new app from scratch! This was my take on the …

: Day 18 is a short quiz and adding some new code on our own without any guidance—it took so little …

: This definitely trips me up: Tip: It’s tempting to think that modifier should be attached to the …

: I have a lot to learn about what enables this syntax for two-way binding (note the $): struct …

: Day 16, starting off with creating a new iOS app in Xcode and seeing everything that’s changed since …

: I might not do day 16 tomorrow, we’ll see… running the Long Beach half-marathon in the morning. 😃

: Day 15 is a review of the last two weeks of material! #100DaysOfSwiftUI I kept on going back to the …

: Day 14 is optionals, guards, nil coalescing, optional chaining, and optional try. Guards are new to …

: My Series 10 has had really inconsistent battery life (it died on me 8 miles into a run last week 🙃) …

: Prototypes, opaque return types, extensions, and protocol extensions don’t have equivalents in …

: copies of the same class share their underlying data, meaning that changing one changes them all, …

: Structs (part two) with a checkpoint… day 11 was pretty straightforward! #100DaysOfSwiftUI

: Structs, mutating on methods, computed properties, property observers, custom initializers… it’s a …

: Dropping the parenthesis when calling functions with a closure blows my mind: team.filter { …

: Really interesting that Swift has do, but it’s not what you think! do { try throwingFunction1() …

: Awesome to me that this is valid: func record(age: Int) { } func record(year: Int) { } Naming …

: Day 6 is all about for and while loops. I’ll be excited to learn the .map and .filter equivalents. I …

: My comment about no === in Swift was incorrect, thanks Matt! I should know that a beginner course …

: No === in Swift (just ==) is nice! Enums being comparable is pretty cool too. And switch statements… …

: This is really interesting: let name: String // … name = "Chasen" // Allowed once In …

: Coming from JS, there are some small differences in array and dictionary syntax. This really stood …

: This has a bug… can you spot it? let temperature = 29 let converted = (temperature * 9 / 5) + 32 …

: The Verge’s article on the iPhone 16 Pro made me realize that the “rich contrast” photographic style …

: It feels like some apps (like Passwords) get a lot of love and attention at Apple, while others …

: I’m going to compare Swift to JavaScript a lot as I get up to speed. Seems like Swift’s var == let …

: Is it cheating to do Day 1 on the same day as Day 0? 🙈 #100DaysOfSwiftUI

: Cute that there’s a Day 0 to kick things off, with this as reading material: …

: I’m stoked to start my Swift journey by following the 100 Days of Swift UI course: …