Dominik Hofer
Dominik Hofer

Just migrated my personal notes from Apple notes/Evernote to @craftdocsapp

Main reason is the daily notes feature (not available in many other apps but I love the concept).

Also, the design is just gorgeous 😍

Dominik Hofer
Dominik Hofer

Day 17 #100DaysOfSwiftUI

✅ Built the WeSplit project

🔑 takeaways:
👉 Locale is a struct with localization infos
👉 @State automatically watches for changes
👉 NavigationView is often the top-level view
👉 Spacer creates a flexible space

Was a fun little project to work on!

Dominik Hofer
Dominik Hofer

Day 16 #100DaysOfSwiftUI

✅ Overview of WeSplit project

🔑 takeaways:
👉 Everything in SwiftUI is a view
👉 Shortcuts: ⌘ + ⌥ + P; ⌘ + R
👉 Views are a function of their state
👉 Create two-way bindings with $

Dominik Hofer
Dominik Hofer

Day 15 #100DaysOfSwiftUI

✅ Review day

Done with the fundamentals of Swift. Now onto learning SwiftUI, I am very excited!

Dominik Hofer
Dominik Hofer

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 🙌

Dominik Hofer
Dominik Hofer

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? 🐰

Dominik Hofer
Dominik Hofer

Writing is the best tool to understand yourself better.

Try out journaling for some time and you'll see great benefits!

Dominik Hofer
Dominik Hofer

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

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 🐈🐕

Dominik Hofer
Dominik Hofer

Swift (with SwiftUI) feels like an ideal language to learn for beginners.

  1. You quickly get your first results
  2. Things look great out of the box
  3. There are many great and free resources like #100DaysofSwiftUI
  4. The playgrounds app enables everyone to learn it
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 🙌

Follow

RSS Feeds