Dominik Hofer
Dominik Hofer

Day 25 #100DaysOfSwiftUI

✅ Built a simple rock, paper, scissors app

This was a great project to recap some of the learnings from the past few days!

One thing I'm particularly proud of is the way I handled the validation: It's a dictionary with all the winning pairs.

Dominik Hofer
Dominik Hofer

Uno #002

Today's tool is a handy little site called copypastecharacters.

Whenever you need some special characters like ⟡, , ⌘ or ⌥, just get them from there. One click to copy them to your clipboard.

👀 Pro tip: Save frequently used symbols as snippets in @raycastapp

Show thread (2 posts)
Dominik Hofer
Dominik Hofer

Day 24 #100DaysOfSwiftUI

✅ Repetition of yesterday's topics on my own

Although days like these require a bit more brainpower than just following tutorials, I really learned to like them. They are exactly what you need to let concepts sink in.

Kudos to @twostraws 👏

Dominik Hofer
Dominik Hofer

Day 23 #100DaysOfSwiftUI

✅ Custom views & modifiers

🔑 takeaways:
👉 Modifiers create a new view → order matters
👉 Use ternary operator for conditional modifiers
👉 Environment modifier gets applied to all children
👉 You can create custom views & modifiers for reusability

Dominik Hofer
Dominik Hofer

Day 22 #100DaysOfSwiftUI

✅ Added some additional features on my own

For this challenge, I already had to google some things, which I think is a great sign! I actually really like that during this course, I get to work on things on my own. Prepares me for my own projects.

Dominik Hofer
Dominik Hofer

Learning the shortcuts of your most-used programs has a really big roi.

Nothing beats being able to do your work mostly without using your mouse.

Dominik Hofer
Dominik Hofer

Currently going through the Final Cut Pro X Skillshare class by @AliAbdaal and only a few lessons in, I've already picked up what is probably the most useful tip for video editing 👇

The I-O-E (shortcuts) workflow for assembling an a-cut.

Dominik Hofer
Dominik Hofer

Day 21 #100DaysOfSwiftUI

✅ Built the GTF project

🔑 takeaways:
👉 Use .shuffled() for a randomized array
👉 .font() modifier is for changing the look of text (uses dynamic type)
👉 Use multiple Spacer() to distribute space

Learned a ton about custom styling in this project!

Dominik Hofer
Dominik Hofer

Day 20 #100DaysOfSwiftUI

✅ Overview of GTF project

🔑 takeaways:
👉 Use stacks for returning multiple views
👉 Colors & gradients are views as well
👉 Image(systemImage: "xy") for icons
👉 Create alerts bound to state variable

Also, this is the most beautiful view ever 😍

Dominik Hofer
Dominik Hofer

The /turn command in @Notion is so useful, go try it out!

Or am I the only one who only recently learned about it? 🥲

Dominik Hofer
Dominik Hofer

Day 19 #100DaysOfSwiftUI

✅ Built a simple converter app

That's it, my first iOS app I built on my own, from scratch!

The conversion was probably the hardest part. The tip with converting to a base unit helped a ton.

Also, notice how the label changes at the bottom 👀

Dominik Hofer
Dominik Hofer

Day 18 #100DaysOfSwiftUI

✅ Added some additional features on my own

I already love building UIs with SwiftUI! It's fascinating, how fast and easy you get Apple-like results.

Looking forward to building some more complex apps 🤓

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

Follow

RSS Feeds