Donny Wals 👾 Profile Banner
Donny Wals 👾 Profile
Donny Wals 👾

@DonnyWals

Followers
29,878
Following
525
Media
1,322
Statuses
26,452

iOS Engineer, blogger and author at . Loves learning and sharing knowledge. ❤Dorien -- #swift #ios #swiftlang #iosdev #solopreneur (he/him)

The Netherlands
Joined May 2009
Don't wanna be here? Send us removal request.
Explore trending content on Musk Viewer
Pinned Tweet
@DonnyWals
Donny Wals 👾
3 months
🚨 Course alert! We're live! Practical Swift Concurrency the video course is finished and available in full right now. Check out the course and purchase it right here: If you're an owner of the book, let me know and you can get 20% off on the course!
1
9
24
@DonnyWals
Donny Wals 👾
5 years
iOS job interviewers be like: “So you’re good with people, deliver on time, have a vast understanding of UIKit and the iOS platform, know both Objective-C and Swift, and you’ve tamed the beast called Xcode and code signing? Cool! Now do a binary sort please.”
42
250
2K
@DonnyWals
Donny Wals 👾
3 months
Tweet media one
15
90
765
@DonnyWals
Donny Wals 👾
3 years
Remember that teaser tweet from earlier? I'm ready to share the news! I quit my job and starting in July I'm off on my own. My plan is to focus more on my blog, books, and workshops, combined with contracting (got to pay those bills). Super excited about this new adventure 😱
166
12
741
@DonnyWals
Donny Wals 👾
3 years
iOS developers when someone presents yet another new app architecture at a meetup
10
71
693
@DonnyWals
Donny Wals 👾
3 years
Finally figured out how to deal with charging the Magic Mouse during the workday.
Tweet media one
39
28
638
@DonnyWals
Donny Wals 👾
3 years
Don’t think for a second that not having a CS degree automatically means you’re less of a programmer. I never got a CS degree and I’d say I’m doing just fine 👍🏼
52
42
537
@DonnyWals
Donny Wals 👾
2 years
Amazing how one little `if` can ruin scrolling performance in a large SwiftUI List 😅
Tweet media one
15
47
533
@DonnyWals
Donny Wals 👾
7 months
Some personal news 😱 This morning my wife gave birth to an amazing and beautiful little girl. Welcome to the world, Sofia Rosalie Wals! Both mother and baby are doing fantastic, I'm so proud of them both ❤️
105
1
518
@DonnyWals
Donny Wals 👾
4 years
Yay! Homebrew now has official Apple Sillicon support 🙌🏼 Run `brew update` in your terminal to upgrade 👍🏼
3
158
513
@DonnyWals
Donny Wals 👾
2 years
In Xcode 14.0 Beta 2 Combine has received a super welcome update! They've added primary associated types to Publisher so now we can write "some Publisher<Output, Error>" instead of erasing to AnyPublisher! Learn more about primary associated types here:
Tweet media one
14
100
501
@DonnyWals
Donny Wals 👾
3 years
The iOS Developer experience: 🥱 Preparing Device for development... 😴 Building... 👀 Hit breakpoint 😴 Waiting for LLDB to attach... 👀 po someVariable 😭 Couldn't IRGen expression. Please check the above error messages for possible root causes. 😒 Add print statement instead
26
54
469
@DonnyWals
Donny Wals 👾
3 years
We'll refactor and improve this code after the initial release
Tweet media one
9
59
412
@DonnyWals
Donny Wals 👾
3 years
So who's making a shortcut to clear Derived Data? #wwdc21
17
39
393
@DonnyWals
Donny Wals 👾
4 years
Did you know that you can flatten a nested JSON structure into a single flat model using a custom initializer for a Decodable model? 😌
Tweet media one
Tweet media two
15
68
390
@DonnyWals
Donny Wals 👾
4 years
My new book "Practical Combine" is now officially available! 🚀 Learn how to build real features for your apps with Apple's Combine framework through 11 chapters that are filled with useful code samples and explanations. Get it now!
34
55
357
@DonnyWals
Donny Wals 👾
3 years
Just saw someone offering to share my Combine book for free. In a Slack community where I’m an admin 🤦‍♂️ don’t do that stuff folks, support independent authors and buy their work. Can’t afford it? Reach out. Most of us aren’t horrible about discounts for those that need them.
21
35
335
@DonnyWals
Donny Wals 👾
4 years
I’ve got a feeling we might get some huge Xcode news tomorrow. And I’m not thinking of Xcode on the iPad. I’m thinking about an overhaul of Xcode on macOS 🤞🏼
33
9
323
@DonnyWals
Donny Wals 👾
1 year
Ohh this is really cool! Xcode 15 will gray out #if paths that don't apply based on your current compilation target. In this case I'm not targeting macOS so that #if path is gray! #WWDC23
Tweet media one
4
34
320
@DonnyWals
Donny Wals 👾
3 years
Just wanted to give a big shoutout to the iOS developer community. I don't think I've seen any developer community as supportive and welcoming as ours (and of course there's still room for improvement). Y'all rock 🤘🏼😎
10
23
313
@DonnyWals
Donny Wals 👾
4 years
Like this tweet and see a super cool animation 😱 I love this little touch #CountdownToMars
8
5
301
@DonnyWals
Donny Wals 👾
1 year
I don't think I've ever been this unprepared for WWDC. Here's a couple of last minute things to keep in mind during the madness of the upcoming days... 1. You don't need to watch or know it all by the end of the week. Trust me. There's PLENTY of time to digest all the goodies.
Tweet media one
4
41
294
@DonnyWals
Donny Wals 👾
5 years
"Run without building" has saved me so much time, it's ridiculous. Definitely my go-to option when I only added a couple of breakpoints and want to test something real quick in a big project that takes ages to compile/install (looking at you, watchOS).
Tweet media one
20
56
294
@DonnyWals
Donny Wals 👾
3 years
It’s my 32nd balloon day today 🎉🎈
127
2
281
@DonnyWals
Donny Wals 👾
4 years
No more AppDelegate and SceneDelegate for SwiftUI!!
Tweet media one
8
56
275
@DonnyWals
Donny Wals 👾
3 years
Table support for SwiftUI looks super neat! 😎 #wwdc21
Tweet media one
8
14
272
@DonnyWals
Donny Wals 👾
3 years
Swift pro-tip for passing around ids for your identifiable objects. Use instead of the actual type when possible to make refactoring easier, and to make your intent clearer.
Tweet media one
10
37
271
@DonnyWals
Donny Wals 👾
2 years
So much fun to be had with Grid in SwiftUI on iOS 16 😌 #WWDC22
Tweet media one
5
21
271
@DonnyWals
Donny Wals 👾
4 years
Tip for Decoding JSON in Swift: You can write a custom init for your decodable enums to make them work with associated values 🙌🏼 Gist/Playground:
Tweet media one
Tweet media two
12
46
261
@DonnyWals
Donny Wals 👾
4 years
So here’s a picture of @Doorriieen and me from last Thursday 👰❤️🤵
Tweet media one
51
0
255
@DonnyWals
Donny Wals 👾
4 years
I just released the full version of Practical Core Data! 🎉 If you've bought the book's pre-release, download the full version from your Gumroad Library. If you haven't bought the book yet, you can get it at 😁
29
46
243
@DonnyWals
Donny Wals 👾
4 years
Exporting app icons can be quite a chore, so I wrote a little bash script that uses imagemagick to convert a 1024x1024 png to all required app icon sizes 😌 Gist:
Tweet media one
15
16
245
@DonnyWals
Donny Wals 👾
4 years
So you're not sure which SwiftUI property wrapper should be used when? There's a website to help you! 🎉
14
66
240
@DonnyWals
Donny Wals 👾
4 years
Did you know that SwiftUI apps don’t use an AppDelegate anymore on iOS14? And that Xcode 12 can’t automatically add Core Data to projects with the new lifecycle? In this week’s post I explain how you can add Core Data to a new SwiftUI project 😎
7
41
243
@DonnyWals
Donny Wals 👾
4 years
If Facebook collecting your user's data through their SDK wasn't enough reason to remove them from your app, maybe them making your apps crash on launch for the second time in a few months is?
10
100
237
@DonnyWals
Donny Wals 👾
3 years
Hard to believe tomorrow marks the start of my first week working for myself 🤯
23
1
230
@DonnyWals
Donny Wals 👾
5 years
Ever wanted to edit multiple lines of code at once in Xcode? You can! Hold option + drag across the lines you want to edit. You get multiple cursors and can edit multiple lines at the same time 🤯
11
53
214
@DonnyWals
Donny Wals 👾
5 years
How to get iOS developers to upgrade to the latest macOS? Give them a huge Xcode update that only works on the latest macOS.
10
19
209
@DonnyWals
Donny Wals 👾
4 years
I really wish Apple would start making sure that any advice and best practices taught in WWDC videos end up in their documentation... there’s lots of information about their frameworks that’s only available in videos and not in the docs.
6
11
213
@DonnyWals
Donny Wals 👾
4 years
Did you ever write a #available check to see if an iOS version is unavailable like this? `if #available (iOS 13.0, *) {} else { /* logic here */ }` A new Swift version might allow this😁 `if #unavailable (iOS 13.0, *) { /* logic here */ }
10
17
205
@DonnyWals
Donny Wals 👾
4 years
A tip for first time followers of WWDC: the Keynote is cool, but the State of the Union after the Keynote is where it’s at for developers
6
35
201
@DonnyWals
Donny Wals 👾
2 years
Raise your hand if you remember this classic UI animation from roughly ten years ago! Gist for those interested in the code
9
23
200
@DonnyWals
Donny Wals 👾
4 years
With `UICollectionView.CellRegistration` you no longer need to specify Strings as reuse identifiers for your collection view cells 😱 (and they also configure your cells for you).
8
22
198
@DonnyWals
Donny Wals 👾
2 years
This rocks! Finally we’ll have proper support for push notifications in the simulator rather than having to use a local json payload to simulate one 😁 #WWDC22
Tweet media one
4
25
197
@DonnyWals
Donny Wals 👾
3 years
WWDC tip: If you're mostly interested in which new frameworks and APIs Apple's introducing for iOS 15 make sure you don't miss the "State of the Union" at 2PM PDT next week. It's after the main Keynote and is much more developer focussed 👍🏼 #wwdc2021
5
21
198
@DonnyWals
Donny Wals 👾
3 years
Dang, Dutch COVID test company uses Firestore and allows their browser client unlimited read and write access. Means all customer data can be queried, and you can write a positive/negative test result to the database right from the browser console + obtain an official certificate
@danielverlaan
Daniël Verlaan
3 years
Het lek deed zich voor bij Testcoronanu, dat tien locaties in Nederland en drie in België heeft. Het bedrijf heeft ruim 60.000 klanten. De frontend van de website communiceert direct met Googles database Firestore. En je kan dus vanuit de browser direct de database raadplegen.
Tweet media one
33
47
235
14
63
193
@DonnyWals
Donny Wals 👾
2 years
Good morning and a happy Monday, Twitter! A little bit later than usual, but what are your plans for the week? Are you learning anything new? Or maybe building something cool? Tell me all about it! My plan for the week is taking care of our baby Oliver ❤️ he was born last Friday
79
2
195
@DonnyWals
Donny Wals 👾
3 years
If you feel like you’re way behind because SwiftUI is already in its third year and you haven’t mastered it yet, please know that lots of companies and developers have only started digging in in the last year or so. There’s still a lot of SwiftUI to discover for most of us!
8
21
194
@DonnyWals
Donny Wals 👾
4 years
If you've had a bunch of Xcode versions installed on your machine you probably have a lot of Device Support folders and simulators for iOS versions you never use anymore. I just regained 15Gb of disk space by deleting old Device Support and removing unavailable simulators.
Tweet media one
8
33
192
@DonnyWals
Donny Wals 👾
4 years
Code readability & maintanability > clever tricks & premature optimization
7
28
189
@DonnyWals
Donny Wals 👾
2 years
For #wwdc22 I wish to never see this popup again when I'm not even building an app that has support for the Apple Watch.
Tweet media one
17
25
190
@DonnyWals
Donny Wals 👾
2 years
While everybody else is waiting for their studio displays I decided to get this 32” Dell Ultrasharp instead. Loving it so far. Huge upgrade from using my iMac as a display for the past 8 years or so 😅
Tweet media one
28
3
186
@DonnyWals
Donny Wals 👾
3 years
I’ll finish my current side project before starting a new one
Tweet media one
6
17
187
@DonnyWals
Donny Wals 👾
3 years
So we’re basically back to the 2015 MacBook Pro except it has a larger screen and USB C? Heck yeah 😎 #AppleEvent
23
6
185
@DonnyWals
Donny Wals 👾
3 years
So, turns out I caught COVID 😕 went for a test yesterday after feeling not well on Monday and got the result this morning. Luckily I don’t feel very ill. My throat hurt a lot yesterday but it’s getting better. No fever. I reckon that first vaccine is helping my body fight this
87
1
187
@DonnyWals
Donny Wals 👾
3 years
Heck yeah! We can use `.focused` and ` @FocusState ` in iOS 15 to programmatically activate/focus textfields and more. This is basically the first responder APIs I was hoping for 😁 #WWDC21
Tweet media one
3
14
184
@DonnyWals
Donny Wals 👾
4 years
Pre-orders for Practical Core Data are open! You can pre-order the book for $24,99. I will pre-release chapters 1-5 on Dec 14 and the full book on Jan 4. Price will be $34,99 after Jan 4. ⚠️Practical Combine owners: check your inbox for a neat discount
31
43
183
@DonnyWals
Donny Wals 👾
4 years
If you're learning SwiftUI (on iOS 14), and struggling with some of its property wrappers like @StateObject , @EnvironmentObject and others you might want to check out for a comprehensive overview 👌🏼
3
35
180
@DonnyWals
Donny Wals 👾
3 years
It's been 0 days since I forgot to disable "simulate bad networking conditions" on my Mac (after being frustrated with a bad network for 2 days 🤦‍♂️).
13
1
180
@DonnyWals
Donny Wals 👾
4 years
SwiftUI has 100% become my quick prototype framework of choice. So nice to be able to whip up a quick UI and focus on the logic that I want to play with rather than spending a bunch of time setting up constraints in UIKit.
9
9
176
@DonnyWals
Donny Wals 👾
4 years
Instead of writing a long NSPredicate with OR, AND or NOT clauses you can write several smaller predicates and join them togethether using an NSCompoundPredicate. This has helped me tons in the past when building complex filter options for an app I worked on 😌
Tweet media one
5
16
170
@DonnyWals
Donny Wals 👾
4 years
Quick tip: Use DateFormatter's setLocalizedDateFormatFromTemplate to easily get a formatted date string that matches your user's locale #Swift #iOSProgramming
Tweet media one
4
22
171
@DonnyWals
Donny Wals 👾
4 years
I was going to mess around with SwiftUI today but then I realized I hadn’t played my guitar for a few weeks so that’s what I did instead 😌
Tweet media one
19
0
171
@DonnyWals
Donny Wals 👾
4 years
@twostraws Add this to your app’s launch arguments to ensure you’re not violating Core Data’s threading rules: -com.apple.CoreData.ConcurrencyDebug 1
3
13
167
@DonnyWals
Donny Wals 👾
1 year
And we're live! The pre-release for Practical Swift Concurrency is now available. First four chapters are available today, the remaining seven will become available over the next two weeks. You can grab the book right here: Pricing info and more in 🧵
25
51
167
@DonnyWals
Donny Wals 👾
5 years
You don’t need to learn all the iOS architectures, read 20 books and launch 5 side projects in 2020. Just do what’s reasonable and what makes you happy.
5
20
165
@DonnyWals
Donny Wals 👾
3 years
Wow, I tried creating a token refresh flow that properly handles concurrency with async/await and this proof of concept was surprisingly to build. Not 100% sure about its correctness but it seems to work well 🙌🏼 #WWDC21 Gist:
Tweet media one
6
21
167
@DonnyWals
Donny Wals 👾
4 years
We all know that we should reuse DateFormatters because they are expensive to create. How expensive you ask? @sarunw did some measurements to answer this question. (spoiler, the answer is very, very expensive)
7
31
163
@DonnyWals
Donny Wals 👾
1 year
Practical Swift Data domain registered. #WWDC23
Tweet media one
8
3
164
@DonnyWals
Donny Wals 👾
4 years
So cool that Stanford still publishes their CS193p course by Paul Hegarty. This course is the first thing I watched when I first became interested in iOS about 8-ish years ago. This year the course uses SwiftUI and I’m sure it’s going to be great.
Tweet media one
5
11
162
@DonnyWals
Donny Wals 👾
2 years
Hey iOS dev Twitter, drop your mastodon links in here so we can easily find and follow each other there 👍🏼
179
18
151
@DonnyWals
Donny Wals 👾
5 years
"My code is self documenting" is the biggest lie any developer can tell themselves. Try coming back to that complex logic a few months after you last touched it.
15
25
153
@DonnyWals
Donny Wals 👾
4 years
To give you an idea of how awesome `UICollectionView.CellRegistration` is, I threw together a quick minimal demo. Looks so much cleaner than the old way. Notice how the cell is strongly typed and no casting is needed... #wwdc2020
Tweet media one
13
26
156
@DonnyWals
Donny Wals 👾
11 months
@_chuckyc The titanium looks so pretty! Very happy I went with blue
3
1
150
@DonnyWals
Donny Wals 👾
4 years
If you made a mistake with your Git repo and think to yourself "oh shit, how do I fix this", there apparently is a website to help you:
12
20
150
@DonnyWals
Donny Wals 👾
3 years
Ever wondered how you'd future-proof a Decodable enum to account for unknown cases being returned by your back-end? A custom init(from:) will work wonders 😁 Gist:
Tweet media one
3
21
148
@DonnyWals
Donny Wals 👾
2 years
Xcode 13.3 ships with Swift 5.6 which contains an interesting new keyword: "any". Learn everything you need to know about Swift's new "any" keyword in this post 😄:
5
30
136
@DonnyWals
Donny Wals 👾
4 years
Today I Learned 😍
@steipete
Peter Steinberger
4 years
Apple introduced "ListFormatter" in iOS 13 and it's an underused gem.
Tweet media one
15
207
1K
3
14
135
@DonnyWals
Donny Wals 👾
3 years
And it's out! Practical Core Data is now officially updated for iOS 15. If you've bought the book, you can download the update for free from Gumroad right now 🎉
13
19
135
@DonnyWals
Donny Wals 👾
2 years
PSA: This is valid code in Xcode 14 with Swift 5.7
Tweet media one
8
9
132
@DonnyWals
Donny Wals 👾
3 years
Just wanted to remind y'all that I made this neat cheat-page for SwiftUI's most important property wrappers:
4
30
134
@DonnyWals
Donny Wals 👾
4 years
Big milestone 🎉 Practical Core Data sold it's 1.000th copy this morning and I'm celebrating with a discount. The first 20 people to use the link below can grab the book with 35% off 🙌🏼
31
20
130
@DonnyWals
Donny Wals 👾
4 years
Yay! I am now a small business developer. Not very unexpected with exactly $0 in revenue 😶
Tweet media one
5
2
129
@DonnyWals
Donny Wals 👾
3 years
One of the recent things I’ve learned about SwiftUI is that having good data/state modeling skills is a huge benefit when building complex flows. Being able to represent your state in an efficient way makes your views way easier to reason about.
6
13
131
@DonnyWals
Donny Wals 👾
4 years
We're officially one month out from WWDC 2020 and I have to admit that I'm starting to get kind of excited for it. Really looking forward to seeing how Apple's going to pull it off 😁
6
9
132
@DonnyWals
Donny Wals 👾
6 months
Today I’ve reached a final decision on something that’s both bittersweet and nice. But also bad news and good news at the same time. After about three years one of my longest term contracts will soon come to an end. This means that a steady stream of work is about to dry up.
13
3
130
@DonnyWals
Donny Wals 👾
5 years
Question time dev Twitter! What inspired you to get into (iOS) development when you just started?
121
14
126
@DonnyWals
Donny Wals 👾
4 years
Stoked to publish my first SwiftUI post tomorrow 😌
Tweet media one
11
2
129
@DonnyWals
Donny Wals 👾
4 years
Periodic reminder that you can use to help you understand the use of different SwiftUI property wrappers 😌
4
27
125
@DonnyWals
Donny Wals 👾
2 years
I just got my first mechanical keyboard and it’ll take a minute to get used to but I think I like better than the Magic Keyboard 🙃
Tweet media one
28
1
125
@DonnyWals
Donny Wals 👾
3 years
Sure, being successful at your job and growing your own career is pretty cool. But have you ever considered helping others succeed?
12
14
124
@DonnyWals
Donny Wals 👾
3 years
Whenever you’re fixing issues directly on production
@MachinePix
MachinePix
3 years
Trimming trees near power lines with an aerial saw mounted on a helicopter.
129
503
3K
8
6
123
@DonnyWals
Donny Wals 👾
3 years
Time really does fly when you’re having fun 😱 can’t believe this is already one year ago today
Tweet media one
16
0
123
@DonnyWals
Donny Wals 👾
3 years
These last few weeks went by so fast. It’s my last day at Disney Streaming today 😱
16
0
124
@DonnyWals
Donny Wals 👾
2 years
This isn't something to be proud of...
@WholeMarsBlog
Whole Mars Catalog
2 years
Twitter is alive More alive at 1 am than it used to be during the daytime
Tweet media one
3K
8K
136K
11
6
123
@DonnyWals
Donny Wals 👾
3 years
So this aged poorly... 😬
@1Password
1Password
3 years
@forsgren Don't worry, we're all about the native apps. ❤️
16
8
30
5
6
122
@DonnyWals
Donny Wals 👾
3 years
Whenever someone tells me they have over a decade of programming experience I feel like such a newbie. But then I realize that I too, have over a decade of programming experience by now. 🤯
19
4
124
@DonnyWals
Donny Wals 👾
2 years
Dear me, You don't need to keep every box for every piece of hardware you own. It's okay to throw out those old boxes. You don't need them.
27
3
122
@DonnyWals
Donny Wals 👾
3 years
New SwiftUI wishes for iOS 15: - easily set navigation bar color / text color - ability to remove separator insets in a list
23
3
120
@DonnyWals
Donny Wals 👾
2 years
Apple will start enforcing the account deletion requirement from June 30th onward. If your app supports account creating, users must be able to initiate account deletion from your app:
4
23
122