Dominik Hofer
Dominik Hofer

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 👇

Dominik Hofer
Dominik Hofer

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)
Dominik Hofer
Dominik Hofer

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)

Show thread (2 posts)
Dominik Hofer
Dominik Hofer

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?

Dominik Hofer
Dominik Hofer

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…

Dominik Hofer
Dominik Hofer

Discovered a handy feature in Xcode by accident:

When holding down CMD, you can click on a variable and refactor it.

See example below 👇

Dominik Hofer
Dominik Hofer

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.

Dominik Hofer
Dominik Hofer

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 🙌

Dominik Hofer
Dominik Hofer

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 😇

Dominik Hofer
Dominik Hofer

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

Dominik Hofer
Dominik Hofer

The best product ideas always come from scratching your own itch.

Nobody is better at solving your own problems than yourself.

Dominik Hofer
Dominik Hofer

The @webflow newsletter is one of my favorite resources to learn about new tools & beautiful sites.

Always looking forward to the next issue 🙌

Dominik Hofer
Dominik Hofer

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” 👇

Dominik Hofer
Dominik Hofer

Day 5 #100DaysOfSwiftUI

✅ If/else
✅ Switch
✅ Ternary operator

🔑 takeaways:
👉 Switch blocks must be exhaustive
👉 For ternary operators, remember WTF: What ? True : False

Dominik Hofer
Dominik Hofer

Visualizing really is a powerful tool.

I just completed day 2 of @mattdavella's Unstuck Challenge and the “ideal day in your life” exercise got me thinking quite a bit.

After writing down the visualization, I'm more even more motivated to pursue my dreams! 🙌

Dominik Hofer
Dominik Hofer

The best products are not those that are simply good, but those that take what‘s already out there and make it better.

Dominik Hofer
Dominik Hofer

I'm only a few days into my #SwiftUI journey, but I already appreciate the type-safety features of the language.

Helps tremendously to reduce those embarrassing mistakes.

Dominik Hofer
Dominik Hofer

Day 4 #100DaysOfSwiftUI

✅ Type annotations
✅ Checkpoint 2

🔑 takeaways:
👉 Whenever possible, use type inference

Below is my solution for the checkpoint. Wasn't that hard but reinforced my knowledge of sets: Now I know that they are made from arrays 💡

Dominik Hofer
Dominik Hofer

Day 3 #100DaysOfSwiftUI

✅ Arrays
✅ Dictionaries
✅ Sets
✅ Enums

🔑 takeaways:
👉 Use default to access data in dictionaries
👉 Sets are significantly faster in look-up operations than arrays
👉 With enums, you essentially define a new data type with all possible values

Dominik Hofer
Dominik Hofer

Day 2 #100DaysOfSwiftUI

✅ Booleans
✅ String interpolation
✅ Checkpoint 1

🔑 takeaways:
👉 String interpolation is more efficient than string concatenation

The checkpoint exercise was a simple Celcius to Fahrenheit converter. Completed it without any problems 🙌

Dominik Hofer
Dominik Hofer

Day 1 #100DaysOfSwiftUI

✅ Variables
✅ Constants
✅ Strings
✅ Numbers

🔑 takeaways:
👉 Use constants whenever possible
👉 Type safety is a very helpful feature of Swift

Dominik Hofer
Dominik Hofer

Going for a bike ride first thing in the morning and enjoying this view is amazing 😍

Really helps clear your head and gives you a sense of accomplishment afterward.

Follow

RSS Feeds