41554 blogs · [ { "id": "01a08c61-9723-72f1-b061-93e2a0ea4550", "title": "Exploring ControlGroup in SwiftUI", "url": "https://wesleydegroot.nl/blog/controlgroup-in-swiftui", "published_at": "2025-10-17T20:37:15+00:00" }, { "id": "01a08c61-9723-72f1-b061-93e2a1b56916", "title": "Expressible Literals", "url": "https://wesleydegroot.nl/blog/expressible-literals", "published_at": "2025-10-17T20:37:15+00:00" }, { "id": "01a08c61-9723-72f1-b061-93e29f85314b", "title": "iOS App States", "url": "https://wesleydegroot.nl/blog/app-states-in-ios", "published_at": "2025-10-17T20:37:14+00:00" }, { "id": "01a08c61-9723-72f1-b061-93e29ff955a2", "title": "Controllig login and background items", "url": "https://wesleydegroot.nl/blog/controlling-login-and-background-items", "published_at": "2025-10-17T20:37:14+00:00" }, { "id": "01a08c61-9723-72f1-b061-93e29ea6afd0", "title": "Using MetricKit", "url": "https://wesleydegroot.nl/blog/metrickit", "published_at": "2025-10-17T20:37:13+00:00" }, { "id": "01a08c61-9723-72f1-b061-93e29e4c707d", "title": "Contact Provider Extension", "url": "https://wesleydegroot.nl/blog/contactprovider", "published_at": "2025-10-17T20:37:12+00:00" }, { "id": "01a08c61-9723-72f1-b061-93e29dded6e9", "title": "It's a wrap (2024)", "url": "https://wesleydegroot.nl/blog/its-a-wrap-2024", "published_at": "2025-10-17T20:37:11+00:00" }, { "id": "01a08c61-9723-72f1-b061-93e29e003d9e", "title": "Apple version numbers", "url": "https://wesleydegroot.nl/blog/apple-version-numbers", "published_at": "2025-10-17T20:37:11+00:00" }, { "id": "01a08c61-9723-72f1-b061-93e29c9f72a2", "title": "Deep linking in SwiftUI", "url": "https://wesleydegroot.nl/blog/deep-linking-in-swiftui", "published_at": "2025-10-17T20:37:10+00:00" }, { "id": "01a08c61-9723-72f1-b061-93e29d159cf7", "title": "Navigation in SwiftUI", "url": "https://wesleydegroot.nl/blog/navigation-in-swiftui", "published_at": "2025-10-17T20:37:10+00:00" }, { "id": "01a08c61-9723-72f1-b061-93e29baaa40d", "title": "Building Calendo", "url": "https://wesleydegroot.nl/blog/building-calendo", "published_at": "2025-10-17T20:37:09+00:00" }, { "id": "01a08c61-9723-72f1-b061-93e29ab11b2c", "title": "Understanding Sendable in Swift", "url": "https://wesleydegroot.nl/blog/sendable-in-swift", "published_at": "2025-10-17T20:37:08+00:00" }, { "id": "01a08c61-9723-72f1-b061-93e29b14a107", "title": "Mastering animations in SwiftUI", "url": "https://wesleydegroot.nl/blog/animations-in-swiftui", "published_at": "2025-10-17T20:37:08+00:00" }, { "id": "01a08c61-9723-72f1-b061-93e29962c604", "title": "Understanding reducers in Swift", "url": "https://wesleydegroot.nl/blog/understanding-reducers-in-swift", "published_at": "2025-10-17T20:37:07+00:00" }, { "id": "01a08c61-9723-72f1-b061-93e29a08e6ed", "title": "Creating a dynamic user interface for extensions in Aurora Editor", "url": "https://wesleydegroot.nl/blog/creating-a-dynamic-ui-for-extensions-in-aurora-editor", "published_at": "2025-10-17T20:37:07+00:00" }, { "id": "01a08c61-9723-72f1-b061-93e298f4c4e3", "title": "Building an Asynchronous Button in SwiftUI", "url": "https://wesleydegroot.nl/blog/async-buttons-in-swiftui", "published_at": "2025-10-17T20:37:06+00:00" }, { "id": "01a08c61-9723-72f1-b061-93e299600c1e", "title": "Exploring the .inspector Modifier in SwiftUI", "url": "https://wesleydegroot.nl/blog/the-inspector-modifier-in-swiftui", "published_at": "2025-10-17T20:37:06+00:00" }, { "id": "01a08c61-9723-72f1-b061-93e2974ef361", "title": "Understanding Package.swift", "url": "https://wesleydegroot.nl/blog/understanding-swift-package", "published_at": "2025-10-17T20:37:05+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7da488718", "title": "SwiftLeeds 2024 (day 2)", "url": "https://wesleydegroot.nl/blog/swiftleeds-2024-2", "published_at": "2025-10-17T20:37:04+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7d9ac391a", "title": "Inspect: A Powerful Tool for SwiftUI Developers", "url": "https://wesleydegroot.nl/blog/swift-package-inspect", "published_at": "2025-10-17T20:37:03+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7da03311b", "title": "SwiftLeeds 2024 (day 1)", "url": "https://wesleydegroot.nl/blog/swiftleeds-2024-1", "published_at": "2025-10-17T20:37:03+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7d9006309", "title": "Simplifying Game Controller Integration with GameControllerKit", "url": "https://wesleydegroot.nl/blog/swift-package-gamecontrollerkit", "published_at": "2025-10-17T20:37:02+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7d98ecfd8", "title": "Enhancing SwiftUI with CachedAsyncImage", "url": "https://wesleydegroot.nl/blog/swift-package-cachedasyncimage", "published_at": "2025-10-17T20:37:02+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7d84730b9", "title": "Simplifying multiplatform Colors", "url": "https://wesleydegroot.nl/blog/swift-package-colors", "published_at": "2025-10-17T20:37:01+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7d87719c3", "title": "Simplifying App Onboarding with OnboardingKit", "url": "https://wesleydegroot.nl/blog/swift-package-onboardingkit", "published_at": "2025-10-17T20:37:01+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7d78254ce", "title": "SwiftUI Development with DynamicUI", "url": "https://wesleydegroot.nl/blog/swift-package-dynamicui", "published_at": "2025-10-17T20:37:00+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7d674a9ca", "title": "Safely unwrap optional values in SwiftUI bindings", "url": "https://wesleydegroot.nl/blog/safely-unwrap-optional-values-in-swiftui-bindings", "published_at": "2025-10-17T20:36:59+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7d68d595c", "title": "Hacktoberfest 2024", "url": "https://wesleydegroot.nl/blog/hacktoberfest-2024", "published_at": "2025-10-17T20:36:59+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7d5102f04", "title": "A Guide to UI Testing in Swift", "url": "https://wesleydegroot.nl/blog/ui-testing-in-swift", "published_at": "2025-10-17T20:36:58+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7d5bd9a26", "title": "Understanding assertions in Swift", "url": "https://wesleydegroot.nl/blog/understanding-assertions-in-swift", "published_at": "2025-10-17T20:36:58+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7d45a451c", "title": "Why You Should Avoid Using AnyView in SwiftUI", "url": "https://wesleydegroot.nl/blog/why-you-should-avoid-anyview-in-swiftui", "published_at": "2025-10-17T20:36:57+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7d335f198", "title": "What is @frozen", "url": "https://wesleydegroot.nl/blog/@frozen", "published_at": "2025-10-17T20:36:56+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7d2b18c09", "title": "Difference between map, flatMap, compactMap", "url": "https://wesleydegroot.nl/blog/map,flatmap,compactmap", "published_at": "2025-10-17T20:36:55+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7d304bfc6", "title": "Enums", "url": "https://wesleydegroot.nl/blog/enums", "published_at": "2025-10-17T20:36:55+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7d2144b53", "title": "CoreSpotlight", "url": "https://wesleydegroot.nl/blog/corespotlight", "published_at": "2025-10-17T20:36:54+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7d0c35aa4", "title": "@Environment variables", "url": "https://wesleydegroot.nl/blog/@environment", "published_at": "2025-10-17T20:36:53+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7d1204f60", "title": "@ViewBuilder in Swift", "url": "https://wesleydegroot.nl/blog/@viewbuilder", "published_at": "2025-10-17T20:36:53+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7cff06f54", "title": "Handle hyperlinks in SwiftUI", "url": "https://wesleydegroot.nl/blog/handle-hyperlinks-in-swiftui", "published_at": "2025-10-17T20:36:52+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7d0032b34", "title": "Loging using OSLog", "url": "https://wesleydegroot.nl/blog/oslog", "published_at": "2025-10-17T20:36:52+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7cf2b486f", "title": "Variadic Parameters", "url": "https://wesleydegroot.nl/blog/variadic-parameters", "published_at": "2025-10-17T20:36:51+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7cf92dbb0", "title": "Generics in Swift", "url": "https://wesleydegroot.nl/blog/swift-generics", "published_at": "2025-10-17T20:36:51+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7ceb978f6", "title": "Appril Festival 2024", "url": "https://wesleydegroot.nl/blog/appril-festival-2024", "published_at": "2025-10-17T20:36:50+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7cef71b5f", "title": "If case let", "url": "https://wesleydegroot.nl/blog/if-case-let", "published_at": "2025-10-17T20:36:50+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7ce70276d", "title": "ExpressibleByStringLiteral URL", "url": "https://wesleydegroot.nl/blog/expressiblebystringliteral-url", "published_at": "2025-10-17T20:36:49+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7cea8d7a0", "title": "self, Self, and Self.self in Swift", "url": "https://wesleydegroot.nl/blog/self-self-self.self-in-swift", "published_at": "2025-10-17T20:36:49+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7ce66b177", "title": "LabeledContent in SwiftUI", "url": "https://wesleydegroot.nl/blog/labeledcontent-in-swiftui", "published_at": "2025-10-17T20:36:48+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7cd345f4d", "title": "Subscripts in Swift", "url": "https://wesleydegroot.nl/blog/subscript-in-swift", "published_at": "2025-10-17T20:36:47+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7ce08447c", "title": "How to monitor network in SwiftUI", "url": "https://wesleydegroot.nl/blog/monitor-network-in-swiftui", "published_at": "2025-10-17T20:36:47+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7cc0e233b", "title": "Default values for UserDefaults", "url": "https://wesleydegroot.nl/blog/default-values-for-userdefaults", "published_at": "2025-10-17T20:36:46+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7cc3c5c92", "title": "SwiftUI ViewModifiers", "url": "https://wesleydegroot.nl/blog/swiftui-viewmodifiers", "published_at": "2025-10-17T20:36:46+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7cb03bcb6", "title": "TipKit", "url": "https://wesleydegroot.nl/blog/tipkit", "published_at": "2025-10-17T20:36:45+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7cb35866a", "title": "Implementing Sign in with Apple", "url": "https://wesleydegroot.nl/blog/implementing-sign-in-with-apple", "published_at": "2025-10-17T20:36:45+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7cac0c274", "title": "ContentUnavailableView", "url": "https://wesleydegroot.nl/blog/contentunavailableview", "published_at": "2025-10-17T20:36:44+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7cadb5411", "title": "Pull-to-Refresh in SwiftUI", "url": "https://wesleydegroot.nl/blog/pull-to-refresh-in-swiftui", "published_at": "2025-10-17T20:36:44+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7ca137825", "title": "What is @MainActor", "url": "https://wesleydegroot.nl/blog/@mainactor", "published_at": "2025-10-17T20:36:43+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7c94dde1c", "title": "Localizing In Xcode", "url": "https://wesleydegroot.nl/blog/localizing-in-xcode", "published_at": "2025-10-17T20:36:42+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7c9a0703b", "title": "Dive into GIT", "url": "https://wesleydegroot.nl/blog/git", "published_at": "2025-10-17T20:36:42+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7c88d8b07", "title": "Aurora Editor", "url": "https://wesleydegroot.nl/blog/aurora-editor", "published_at": "2025-10-17T20:36:41+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7c90d8acc", "title": "Translating closures to async", "url": "https://wesleydegroot.nl/blog/closures-to-async", "published_at": "2025-10-17T20:36:41+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7c8155775", "title": "@dynamicMemberLookup", "url": "https://wesleydegroot.nl/blog/@dynamicmemberlookup", "published_at": "2025-10-17T20:36:40+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7c81e67c5", "title": "SimpleNetworking", "url": "https://wesleydegroot.nl/blog/simplenetworking", "published_at": "2025-10-17T20:36:40+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7c7d002e4", "title": "iCloud Drive Tips & Tricks", "url": "https://wesleydegroot.nl/blog/icloud-drive-tips-and-tricks", "published_at": "2025-10-17T20:36:39+00:00" }, { "id": "01a08c61-9722-702a-9e2e-64d7c7d52e95", "title": "async/await", "url": "https://wesleydegroot.nl/blog/async-await", "published_at": "2025-10-17T20:36:39+00:00" }, { "id": "01a08c61-9721-70e8-8e16-dc23c04dea2d", "title": "Xcode shortcuts", "url": "https://wesleydegroot.nl/blog/xcode-shortcuts", "published_at": "2025-10-17T20:36:38+00:00" }, { "id": "01a08c61-9721-70e8-8e16-dc23c0dfbbbf", "title": "SwiftUI property wrappers", "url": "https://wesleydegroot.nl/blog/swiftui-property-wrappers", "published_at": "2025-10-17T20:36:38+00:00" }, { "id": "01a08c61-9721-70e8-8e16-dc23bfb7a182", "title": "Implementing Admob in SwiftUI", "url": "https://wesleydegroot.nl/blog/admob-in-swiftui", "published_at": "2025-10-17T20:36:37+00:00" }, { "id": "01a08c61-9721-70e8-8e16-dc23bebfe7dd", "title": "Snippet: @EnvironmentVariable", "url": "https://wesleydegroot.nl/blog/@environmentvariable", "published_at": "2025-10-17T20:36:36+00:00" }, { "id": "01a08c61-9721-70e8-8e16-dc23bf9969ef", "title": "OTP Code Generation with CryptoKit: A Swift Approach", "url": "https://wesleydegroot.nl/blog/cryptokit-totp", "published_at": "2025-10-17T20:36:36+00:00" }, { "id": "01a08c61-9721-70e8-8e16-dc23bdfa0168", "title": "Observable Geocoder", "url": "https://wesleydegroot.nl/blog/observable-geocoder", "published_at": "2025-10-17T20:36:35+00:00" }, { "id": "01a08c61-9721-70e8-8e16-dc23beae3bf9", "title": "New Website", "url": "https://wesleydegroot.nl/blog/new-website", "published_at": "2025-10-17T20:36:35+00:00" }, { "id": "01a08c61-9721-70e8-8e16-dc23bc90ceb2", "title": "Swipe actions in Swift", "url": "https://wesleydegroot.nl/blog/swipe-actions-in-swift", "published_at": "2025-10-17T20:36:34+00:00" }, { "id": "01a08c61-9721-70e8-8e16-dc23bd77d4d4", "title": "Easy Publishers", "url": "https://wesleydegroot.nl/blog/easy-publishers", "published_at": "2025-10-17T20:36:34+00:00" }, { "id": "01a08c61-9721-70e8-8e16-dc23bb93e86f", "title": "Safari in SwiftUI", "url": "https://wesleydegroot.nl/blog/safari-in-swiftui", "published_at": "2025-10-17T20:36:33+00:00" } ] posts Claim your blog
Back to wesleydegroot.nl
Blog · corpus.blog/blogs/wesleydegroot.nl/posts

wesleydegroot.nl

wesleydegroot.nl

2025