WWDC22 SALE: Save 50% on all my Swift books and bundles! >>

SOLVED: Day 34-38: having some trouble with the challenges

Forums > 100 Days of SwiftUI

Hi everyone!

I've been having some trouble with the challenges the past couple of days. It started with the animation challenges on day 34. Even after going at it for hours, I couldn't figure things out.

I faced the same problem today with the third challenge of day 38. In order to learn how to solve them, I started the trial for HWS+ today and after seeing the solutions, I do understand what's going on for the most part. The problem is: I cannot imagine coming up with these solutions myself!

I'm feeling a bit discouraged that I couldn't figure these past challenges out myself, while the first 33 days went so well. So, I'm looking for a bit of general advice. Are there things I could be doing wrong or do you have some tips that will help improve my learning or the way I approach these challenges?

Thank you for your time!

   

You certainly ask the right questions, and I will try to answer them as best I can.

First of all: I should not let myself be discouraged. If you sailed through the first 33 days, chances are that you will be able to finish the whole course in the end.

As for myself, there are issues I spent days, not hours, to understand, leaving them for a while and then coming back with some fresh ideas. These may then work or not, but even if not, understanding why that is will help in the following iteration. It all depends how much time you have, but if you can afford it, the time spent will pay itself back.

I have to say that the Apple documentation is not the most accessible or complete, and the error messages you get are often beyond cryptic. In my experience Internet search can be a great help. I specifically try to look for simple examples to understand new concepts.

Printing diagnostic messages has proved a life saver for me. If necessary, I add a button to a view just to print out some information. Not only the content of variables, but also knowing their type (type(of:)) can give me a lot of insight. In the end the fog clears and you know what you are doing!

A final advice, from my experience: go back from time to time to an earlier topic, if it arises and you are not quite confident anymore in how it worked. If you do that, you will find that you now understand it even better than the first time and you have built a firmer foundation for your further learning.

The morale of the story: You cannot force the pace when learning a thing like SwiftUI. You cannot learn faster than you can. Everybody have their own tempo... and slow learners sometimes learn better than fast ones. But in the end you will succeed, if you stay patient and focused, and not let yourself be discouraged if it does not go as fast as you wished, or expected.

Good luck and let us know how you fare!

1      

Hi Jeroen,

First of all, thank you for your extensive reply, I really appreciate it!

As for myself, there are issues I spent days, not hours, to understand, leaving them for a while and then coming back with some fresh ideas. These may then work or not, but even if not, understanding why that is will help in the following iteration. It all depends how much time you have, but if you can afford it, the time spent will pay itself back.

I will definitely do that. I'm at day 46 and the next two days are consolidation days, which I will use to go back over the topics I had trouble with. I still think it'll take more time for me to properly grasp them, but I'll keep going back to them and check other resources over the course of the remaining days and beyond!

It's a bit difficult to always squeeze in the time. I have a full time job that is not at all related to software development and a few other obligations, but I do what I can.

I have to say that the Apple documentation is not the most accessible or complete, and the error messages you get are often beyond cryptic. In my experience Internet search can be a great help. I specifically try to look for simple examples to understand new concepts.

I agree. I've explored various programming languages to learn before settling on Swift and SwiftUI. One of them was Java. I feel that errors there where a lot more clear and concise and the documentation was more helpful. Java also has multiple IDE's and I used IntelliJ, which I've found was a lot more user friendly than Xcode.

For now, I find that I mostly drift to blogs or StackOverflow for specific problems as they're easier to understand. That being said, I do try to keep using the documentation in order to understand it better.

Printing diagnostic messages has proved a life saver for me. If necessary, I add a button to a view just to print out some information. Not only the content of variables, but also knowing their type (type(of:)) can give me a lot of insight. In the end the fog clears and you know what you are doing!

That's very clever! I will definitely implement this in my own code, thank you.

A final advice, from my experience: go back from time to time to an earlier topic, if it arises and you are not quite confident anymore in how it worked. If you do that, you will find that you now understand it even better than the first time and you have built a firmer foundation for your further learning.

The morale of the story: You cannot force the pace when learning a thing like SwiftUI. You cannot learn faster than you can. Everybody have their own tempo... and slow learners sometimes learn better than fast ones. But in the end you will succeed, if you stay patient and focused, and not let yourself be discouraged if it does not go as fast as you wished, or expected.

Again, thank you for all your great advice and insight. It really encouraged me. I will keep pushing onwards and do the course every day dilligently. As time allows, I'll keep looping back to difficult topics until they finally sink in.

I think I felt a bit forced to fully understand everything that is teached right away, because the next day, you're moving on to other or more advanced topics. But I realize now that there is no shame in moving on, even if you don't fully grasp what was learned yet, and come back with a fresh perspective later.

I'll post again in the forums to let you know how it all goes!

   

Hacking with Swift is sponsored by Fernando Olivares

SPONSORED Fernando's book will guide you in fixing bugs in three real, open-source, downloadable apps from the App Store. Learn applied programming fundamentals by refactoring real code from published apps. Hacking with Swift readers get a $10 discount!

Read the book

Sponsor Hacking with Swift and reach the world's largest Swift community!

Reply to this topic…

You need to create an account or log in to reply.

All interactions here are governed by our code of conduct.

 
Unknown user

You are not logged in

Log in or create account
 

Link copied to your pasteboard.