Day 32 and we are exploring custom animation effects. iOS has some great built in animations that work with very little code. Coming from a CSS background with keyframes, I find it much easier to create the same animation effects in SwiftUI. I really like the ease with which to create 3D animations.
10.02.2026 19:24
👍 2
🔁 0
💬 0
📌 0
Day 31 was a challenge day. The big take away was learning about the .safeAreaInset modifier. This enables layouts in the top or bottom of the screen, whose content is always present there. I enjoyed the other challenges of checking for word length and adding a button to the toolbar.
10.02.2026 18:25
👍 0
🔁 0
💬 0
📌 0
Day 30. We are building a word scramble game. We learned how to add words to a list but we must validate those words to ensure they don't already exist, can be made from the given word, and are an actual word, not some made up thing.
10.02.2026 16:42
👍 0
🔁 0
💬 0
📌 0
Day 29. I'm a bit late posting. Learned about the power of Lists and how to use them to display data. We looked at the bundle and how to add resources to them as well as how to access those resources from code. Then we used the UITextChecker to determine if a word was misspelled. Pretty ugly code.
10.02.2026 16:41
👍 0
🔁 0
💬 0
📌 0
Day 28 which was a review day. We employed a computed property to calculate the ideal bedtime given the amount of sleep desired and the number of cups of coffee consumed. It was very enlightening to see how useful and complex computed properties can be.
06.02.2026 16:06
👍 0
🔁 0
💬 0
📌 0
Day 27 and we cleaned up the layout of our BetterRest app. The code to automatically pluralize strings is a bit funky:
"^[\(coffeeAmount) cup](inflect: true) per day" Ruby is much cleaner for this. I like how SwiftUI has the data and the layout code right there in the view. No separate CSS file.
06.02.2026 15:14
👍 0
🔁 0
💬 0
📌 0
Day 26 and we explored how complicated Dates can be to manage. Thankfully iOS has built in tools that handle this complication for us. We also learned how to train a model which was so easy it surprised me. Apple has really done some incredible work bringing down the barrier to using ML.
05.02.2026 18:03
👍 0
🔁 0
💬 0
📌 0
Day 25 and I built a "Rock", "Paper", "Scissors" game. What I found most interesting was how complicated I made the code compared to how simple Hudson made his. He thought of an elegant solution by fully understanding what made for a win or lose move. It really drove home the idea of thinking more.
05.02.2026 18:01
👍 0
🔁 0
💬 0
📌 0
Day 24 finished. This was a review and practice day where we were challenged to apply what we had learned about Views and View Modifiers. I'm starting to understand how views are like components or lego blocks and you can arrange them in different ways to create unique layouts.
02.02.2026 14:51
👍 0
🔁 0
💬 0
📌 0
Up to Day 23, and this was a huge module. Learned how to make my own custom modifiers and to add them using the extension on View to make it easy to apply them to a view. We also looked at Custom Containers which seem a great way to create unique layouts throughout an app.
30.01.2026 18:33
👍 1
🔁 0
💬 0
📌 0
Day 22 completed where we added more features to the application. this included keeping score, and resetting the variables in the game to restart the game. Had to work out the logic of where in the code to track how many questions had been asked and update the score values. Added another alert.
29.01.2026 19:10
👍 0
🔁 0
💬 0
📌 0
Finished Day 21 where we completed a Guess The Flag application. I'm starting to understand how the two-way binding works with @State variables as well as how to use a boolean variable to show and hide alerts. This was a great learning experience and I'm getting clearer on how views work.
29.01.2026 19:08
👍 0
🔁 0
💬 0
📌 0
Day 20 and we are gearing up with some new features like Buttons, alerts, images which includes SF Symbols. Had a look at how to add color to elements, screens and briefly explored the different types on gradients and the easy built in .gradient.
27.01.2026 19:20
👍 0
🔁 0
💬 0
📌 0
Day 19 and the challenge was to create an app from scratch. I learned how to use some of Apple's built in features for converting units. Made the code a lot simpler and less error prone. Used in init() functions in the view which I had not seen before. Great exercise to see where I need more work.
26.01.2026 19:48
👍 1
🔁 0
💬 0
📌 0
Day 18 was a challenge day to add some more features to the WeSplit app. I find that I read too deeply into the challenges and think of things too complicated at first missing the elegance of the simple solution. I need to step back and take more time to understand the actual problem.
26.01.2026 15:45
👍 0
🔁 0
💬 0
📌 0
Finished Day 17. Fascinating how declarative programming works. Learned about showing and hiding the number keyboard, binding input fields. Also how the ForEach and initial value of a variable can trip you up if you don't fully grasp how can treat a value as a row index.
21.01.2026 18:50
👍 0
🔁 0
💬 0
📌 0
Day 16 and we started to learn to create Views. I understood the code now so much better.
var body: some Views {} is a computed property of type 'some View' which is an opaque return type. Inside there can be all sorts of Views such as Form {} which takes a trailing closure and returns a view.
21.01.2026 14:07
👍 0
🔁 0
💬 0
📌 0
Made it to day 15. I have to hand it to Hudson, he made those first 14 days fly by. Learning at the pace of this 100 Days course helps a lot as I find that I retained a lot of the knowledge and syntax. I'm looking forward to applying it as we head towards day 16.
20.01.2026 17:12
👍 0
🔁 0
💬 0
📌 0
Thank you for clarifying that. That makes much more sense.
19.01.2026 14:35
👍 1
🔁 0
💬 0
📌 0
Day 14. I did complete this last Friday but am only getting to post it today. We examined optionals, unwrapping them and nil coalescing which really twisted my brain on the challenge. Wit the help of AI I was able to finally get a grasp on using the double nil coalescing for the challenge.
19.01.2026 14:33
👍 0
🔁 0
💬 0
📌 0
I needed two days to work through the material for Day 13 — Protocols, Opaque return types and extensions. I need to practice more with these features, especially the opaque return types to better understand them. I like protocols, they are a bit like Ruby duck types it seems.
14.01.2026 20:47
👍 0
🔁 0
💬 0
📌 0
Today I'm at day 12. Learned all about Classes, how they are reference types as opposed to value types. They can have a deinitializer that is run automatically when all instances of a class are destroyed. Also, a constant instance of a class can still have its properties changed if they are variable
12.01.2026 21:16
👍 1
🔁 0
💬 1
📌 0
Just completed Day 11 where we explored access levels such as private, private(set), fileprivate etc... We then looked at static properties and functions and some possible use cases for them.
11.01.2026 18:40
👍 0
🔁 0
💬 0
📌 0
Made it through Day 10. Covered Structs, Property Observers, and Custom Initializers. Swift truly has some powerful features. The computed properties are one example. I'm looking forward to using them with my code to get a better grasp on their value.
09.01.2026 19:33
👍 1
🔁 0
💬 0
📌 0
Day 9 and a big brain drain on closures. I have a Ruby background and they seem very similar to Ruby blocks and procs. Having done some SwiftUI coding already I've come across these closures and the name threw me for a loop. Now I have a much clearer understanding.
07.01.2026 22:07
👍 2
🔁 0
💬 0
📌 0
I just finished Day 8. We looked at default values for parameters and how to throw and handle errors in code. I especially liked the challenge of finding the integer square root of a number.
06.01.2026 17:11
👍 0
🔁 0
💬 0
📌 0
Just finished Day 7. I need to make up for the lost days while Iw as sick. We dove into functions, their parameters and naming conventions ("_" vs name: String) as well as external and internal parameters. Tuples were looked at briefly and seem very interesting.
05.01.2026 20:13
👍 0
🔁 0
💬 0
📌 0
I'm back after catching the flu from my very generous son. I finished Day 6 where we explored the different types of loops (i.e. for, while), learned about the different ranges and their syntax in Swift and how to use continue and break.
05.01.2026 18:11
👍 0
🔁 0
💬 0
📌 0
I missed Day 5 yesterday as my son had the flu. I'm back at it today and we tackled conditionals and multiple conditions using Switch statements, if, else if, && for and and || for or.
Finally, I learned about the ternary operator and to try to use it less often where possible to keep code readable.
28.12.2025 03:49
👍 1
🔁 0
💬 0
📌 0
I finished day 4 of 100 days of Swift. Today I learned about type annotation and when to use it. It seems better to allow Swift to infer the type where possible to keep the code clean. I also did a challenge where I used a set to count the number of unique items in an array.
26.12.2025 01:19
👍 1
🔁 0
💬 0
📌 0