Nothing better than a selfmade burger π
Day 15 #100DaysOfSwiftUI
β Review day
Done with the fundamentals of Swift. Now onto learning SwiftUI, I am very excited!
My new favorite shortcut in @framer: β + K
Creating components, publishing, and more β straight from your Keyboard.
Love seeing more and more apps adapt this UX pattern π
Day 13 #100DaysOfSwiftUI
β
Protocols
β
Extensions
β
Checkpoint 8
π takeaways:
π Protocols are like a blueprint for different types
π With extensions, you can extend the functionality of types
π Protocol extensions are possible
Can you spot the easter egg? π°
Not everything that happens is your fault.
But it is your responsibility to take care of it.
Writing is the best tool to understand yourself better.
Try out journaling for some time and you'll see great benefits!
Day 14* #100DaysOfSwiftUI
β
Optionals
β
Nil coalescing
β
Checkpoint 9*
π takeaways:
π Optionals are for when there might data
π They have to be unwrapped: Either with if let, guard let, or nil coalescing
Today's checkpoint was a simple one-liner. Felt kinda smart π€
Show thread (2 posts)
Overthinking < Just starting. https://xcancel.com/dominikhofer_/status/1530926955247243265/photo/1
Design is 90% staring at a big white rectangle and 10% drawing little rectangles on it.
Day 12 #100DaysOfSwiftUI
β
Classes
β
Inheritance
β
Checkpoint 7
π takeaways:
π Classes don't have a memberwise initializer
π All instances point to the same data
π You can override methods
π Call super.init() inside child class
The furry checkpoint ππ
Added a subtle hue rotation animation to my @framer site's background β¨
Took a bit of custom code, but was still easier to achieve than I thought!
What do you think?
Show thread (2 posts)
Made quite some progress today on the homepage of my personal site (timelapse in next tweet).
(And I also feel like I now understand the layout tool pretty well π)
Show thread (2 posts)
A lil reminder to myself π
You can't work on yourself if you're always focused on what others think of you.
Automation: Step by step https://xcancel.com/vvtraining/status/1541520321467088896
Swift (with SwiftUI) feels like an ideal language to learn for beginners.
After trying out (almost) every Twitter scheduling tool under the sun, I'm back on @typefully
Although there are platforms out there with more features, nothing beats the simplicity & aesthetics of Typefully.
Show thread (2 posts)
Most beautiful website of the week (discovered via @godlywebsite newsletter): Flecto
Show thread (2 posts)
Day 11 #100DaysOfSwiftUI
β
Access control
β
Static props & methods
β
Checkpoint 6
π takeaways:
π Restrict property access with private keyword
π Static props/methods can be used for global data or examples
Slowly, Swift really starts to click for me π
Checkpoint π
My favorite Xcode shortcut:
Control + I to properly indent your code.
What's yours? π
We live in a time full of opportunities: The permissionless area.
But how should you leverage them?
@jackbutcher has created what is probably the most comprehensive guide to answer this question.
Here are my 5 key takeaways & opinions on βThe Permissionless Apprenticeβ π
Show thread (11 posts)
My favorite @AliAbdaal quote:
βEverything is figureauteable.β
Perfectly sums up the mindset I try to cultivate.
Day 10 #100DaysOfSwiftUI
β
Structs
β
Computed properties
β
Property observers
π takeaways:
π With structs, you can create custom types
π Computed properties work like in Vue.js
π You can create custom initializers (must provide values for all properties)
With the launch of my personal website, I also want to start a bi-weekly newsletter. Nothing too fancy, just a way to send some updates.
What tool should I use?
β‘ @SubstackInc
β‘ @TwitterWrite (Revue)
β‘ @ConvertKit
Any tips/experiences?
Day 9 #100DaysOfSwiftUI
β
Closures
β
Passing functions
β
Checkpoint 5
π takeaways:
π Closures are a special type of function
π Trailing closure syntax is handy when you pass a function to a function
Not sure if I solved today's challenge correctly, my brain hurtsβ¦
Discovered a handy feature in Xcode by accident:
When holding down CMD, you can click on a variable and refactor it.
See example below π
One simple trick I learned in therapy:
If you're unsure what your gut feeling is (because you tend to overthink things), simply flip a coin. πͺ
The answer you hope for shortly before the coin hits your hand is usually the right one.
One of my all-time favorite quotes:
βThe best time to plant a tree was 20 years ago. The second best time is now.β
βChinese proverb
Day 8 #100DaysOfSwiftUI
β
Default values
β
Throwing functions
β
Checkpoint 4
π takeaways:
π = defaultvalue
π There is an error Swift type
π throws keyword before return type
π do try catch keywords
Trickier challenge today, but managed to solve it π
Good morning to everyone working on their own projects today βοΈ
(Btw, share them below, I'm curious!)
Finally working on my personal website.
Will share some snapshots on here, so stay tuned!
Show thread (2 posts)
One of my goals is to buy my next iPhone with money I made from creating iOS apps.
That would surely be an amazing feeling. Still a long way to go but you gotta have dreams π
Day 7 #100DaysOfSwiftUI
β
Functions
β
Params
β
Return
π takeaways:
π Params are named, type annotated and can have an alias
π Return value is annotated with -> Type
π Use Tuples to return multiple values (they have a fixed size)
π Tuples can be destructed
The best product ideas always come from scratching your own itch.
Nobody is better at solving your own problems than yourself.
The @webflow newsletter is one of my favorite resources to learn about new tools & beautiful sites.
Always looking forward to the next issue π
4 habits to make you better each day:
π§ββοΈ meditate
πͺ exercise
βοΈ journal
π read
Anything you would add?
Day 6 #100DaysOfSwiftUI
β
Loops
β
Checkpoint 3
π takeaways:
π Ranges are a unique data type (... and ..<)
π Int.random(in: x) for random number
π continue & break to exit loops
The challenge was a classic code problem. Below is my solution for βFizzBuzzβ π
Constraints spark creativity. https://xcancel.com/dominikhofer_/status/1529115013822050304/photo/1