corpus.blog
Most cited
Talked about
Blogs
41554 blogs · [ { "id": "01a0c564-c309-7378-9527-0e8824c8fdb9", "title": "Swift’s associated types for protocols explained", "url": "https://www.donnywals.com/swifts-associated-types-for-protocols-explained/", "published_at": "2022-06-07T22:08:43+00:00" }, { "id": "01a0c564-c309-7378-9527-0e882570c142", "title": "Differences between Swift’s any and some keywords explained", "url": "https://www.donnywals.com/differences-between-swifts-any-and-some-keywords-explained/", "published_at": "2022-06-07T22:08:34+00:00" }, { "id": "01a0c564-c309-7378-9527-0e882599afc5", "title": "Presenting a partially visible bottom sheet in SwiftUI on iOS 16", "url": "https://www.donnywals.com/presenting-a-partially-visible-bottom-sheet-in-swiftui-on-ios-16/", "published_at": "2022-06-06T21:32:54+00:00" }, { "id": "01a0c564-c309-7378-9527-0e882635244c", "title": "Formatting dates in Swift using Date.FormatStyle on iOS 15", "url": "https://www.donnywals.com/formatting-dates-in-swift-using-date-formatstyle-on-ios-15/", "published_at": "2022-05-27T07:00:44+00:00" }, { "id": "01a0c564-c309-7378-9527-0e8826473b03", "title": "Closures in Swift explained", "url": "https://www.donnywals.com/closures-in-swift-explained/", "published_at": "2022-05-23T18:38:41+00:00" }, { "id": "01a0c564-c309-7378-9527-0e8826da203e", "title": "The difference between checked and unsafe continuations in Swift", "url": "https://www.donnywals.com/the-difference-between-checked-and-unsafe-continuation-in-swift/", "published_at": "2022-04-24T13:47:35+00:00" }, { "id": "01a0c564-c309-7378-9527-0e8827a785d2", "title": "Migrating callback based code to Swift Concurrency with continuations", "url": "https://www.donnywals.com/migrating-callback-based-code-to-swift-concurrency-with-continuations/", "published_at": "2022-04-24T13:47:27+00:00" }, { "id": "01a0c564-c309-7378-9527-0e88280e9a55", "title": "Comparing lifecycle management for async sequences and publishers", "url": "https://www.donnywals.com/comparing-lifecycle-management-for-async-sequences-and-publishers/", "published_at": "2022-04-12T10:07:34+00:00" }, { "id": "01a0c564-c309-7378-9527-0e8828a12de1", "title": "Comparing use cases for async sequences and publishers", "url": "https://www.donnywals.com/comparing-use-cases-for-async-sequences-and-publishers/", "published_at": "2022-04-12T10:06:45+00:00" }, { "id": "01a0c564-c309-7378-9527-0e88292d84b0", "title": "What is the “any” keyword in Swift?", "url": "https://www.donnywals.com/what-is-the-any-keyword-in-swift/", "published_at": "2022-03-15T10:45:29+00:00" }, { "id": "01a0c56b-e839-7385-89f3-9ed5aa1617e3", "title": "Writing custom property wrappers for SwiftUI", "url": "https://www.donnywals.com/writing-custom-property-wrappers-for-swiftui/", "published_at": "2022-01-16T07:00:47+00:00" }, { "id": "01a0c56b-e839-7385-89f3-9ed5aae874aa", "title": "Five things iOS developers should focus on in 2022", "url": "https://www.donnywals.com/five-things-ios-developers-should-focus-on-in-2022/", "published_at": "2022-01-03T09:54:17+00:00" }, { "id": "01a0c56b-e839-7385-89f3-9ed5abae6df3", "title": "Understanding how and when SwiftUI decides to redraw views", "url": "https://www.donnywals.com/understanding-how-and-when-swiftui-decides-to-redraw-views/", "published_at": "2021-11-07T18:08:24+00:00" }, { "id": "01a0c56b-e839-7385-89f3-9ed5ac4d6709", "title": "Understanding Swift’s AsyncSequence", "url": "https://www.donnywals.com/understanding-swifts-asyncsequence/", "published_at": "2021-11-01T11:32:49+00:00" }, { "id": "01a0c56b-e839-7385-89f3-9ed5ac6fa955", "title": "Using async await in Swift to build an image loader", "url": "https://www.donnywals.com/using-swifts-async-await-to-build-an-image-loader/", "published_at": "2021-09-06T18:52:45+00:00" }, { "id": "01a0c56b-e839-7385-89f3-9ed5ac946bec", "title": "What exactly is a Combine AnyCancellable?", "url": "https://www.donnywals.com/what-exactly-is-a-combine-anycancellable/", "published_at": "2021-08-24T18:27:21+00:00" }, { "id": "01a0c56b-e839-7385-89f3-9ed5acad4bae", "title": "Building a token refresh flow using async await in Swift", "url": "https://www.donnywals.com/building-a-token-refresh-flow-with-async-await-and-swift-concurrency/", "published_at": "2021-08-16T06:45:32+00:00" }, { "id": "01a0c56b-e839-7385-89f3-9ed5ace36f12", "title": "Using Swift’s TaskGroup for tasks with varying output", "url": "https://www.donnywals.com/using-swift-concurrencys-task-group-for-tasks-with-varying-output/", "published_at": "2021-08-09T06:00:40+00:00" }, { "id": "01a0c56b-e839-7385-89f3-9ed5ad77df9f", "title": "How to use async let in Swift?", "url": "https://www.donnywals.com/how-to-use-async-let-in-swift/", "published_at": "2021-08-09T06:00:15+00:00" }, { "id": "01a0c56b-e839-7385-89f3-9ed5ae46e04f", "title": "Swift Concurrency’s TaskGroup explained", "url": "https://www.donnywals.com/swift-concurrencys-taskgroup-explained/", "published_at": "2021-08-05T13:48:42+00:00" }, { "id": "01a0c575-cea1-71ba-af59-fb5f44426117", "title": "Using UISheetPresentationController in SwiftUI 3", "url": "https://www.donnywals.com/using-uisheetpresentationcontroller-in-swiftui/", "published_at": "2021-06-30T07:56:54+00:00" }, { "id": "01a0c575-cea1-71ba-af59-fb5f44919fc3", "title": "Presenting a bottom sheet in UIKit with UISheetPresentationController", "url": "https://www.donnywals.com/presenting-a-bottom-sheet-in-uikit-with-uisheetpresentationcontroller/", "published_at": "2021-06-30T07:56:52+00:00" }, { "id": "01a0c575-cea1-71ba-af59-fb5f44cd87d3", "title": "What are Swift Concurrency’s task local values?", "url": "https://www.donnywals.com/what-are-swift-concurrencys-task-local-values/", "published_at": "2021-06-22T13:49:51+00:00" }, { "id": "01a0c575-cea1-71ba-af59-fb5f45725a64", "title": "Actors in Swift explained with examples", "url": "https://www.donnywals.com/actors-in-swift-explained-with-examples/", "published_at": "2021-06-14T19:29:29+00:00" }, { "id": "01a0c575-cea1-71ba-af59-fb5f459d5720", "title": "The iOS Developer’s guide to WWDC 2024", "url": "https://www.donnywals.com/the-ios-developers-guide-to-wwdc-2024/", "published_at": "2021-05-31T12:53:39+00:00" }, { "id": "01a0c575-cea1-71ba-af59-fb5f45b24d36", "title": "What’s the difference between a singleton and a shared instance in Swift?", "url": "https://www.donnywals.com/whats-the-difference-between-a-singleton-and-a-shared-instance-in-swift/", "published_at": "2021-04-19T07:35:53+00:00" }, { "id": "01a0c575-cea1-71ba-af59-fb5f464c4127", "title": "Splitting a JSON object into an enum and an associated object with Codable", "url": "https://www.donnywals.com/splitting-a-json-object-into-an-enum-and-an-associated-object-with-codable/", "published_at": "2021-04-05T18:33:21+00:00" }, { "id": "01a0c575-cea1-71ba-af59-fb5f47290dac", "title": "JSON parsing in Swift with custom encoding and decoding logic", "url": "https://www.donnywals.com/json-parsing-in-swift-with-custom-encoding-and-decoding-logic/", "published_at": "2021-04-05T18:33:18+00:00" }, { "id": "01a0c575-cea1-71ba-af59-fb5f47f41427", "title": "Customizing how Codable objects map to JSON data", "url": "https://www.donnywals.com/customizing-how-codable-objects-map-to-json-data/", "published_at": "2021-04-05T18:33:13+00:00" }, { "id": "01a0c575-cea1-71ba-af59-fb5f48d81792", "title": "JSON parsing in Swift explained using Codable", "url": "https://www.donnywals.com/json-parsing-in-swift-explained-using-codable/", "published_at": "2021-04-05T18:33:09+00:00" }, { "id": "01a0c583-9646-7357-8b4e-d80fc4b8ce0e", "title": "Flattening a nested JSON response into a single struct with Codable", "url": "https://www.donnywals.com/flattening-a-nested-json-response-into-a-single-struct-with-codable/", "published_at": "2021-04-04T14:43:44+00:00" }, { "id": "01a0c583-9646-7357-8b4e-d80fc4dea451", "title": "Preventing unwanted fetches when using NSFetchedResultsController and fetchBatchSize", "url": "https://www.donnywals.com/preventing-unwanted-fetches-when-using-nsfetchedresultscontroller-and-fetchbatchsize/", "published_at": "2021-01-18T08:45:28+00:00" }, { "id": "01a0c583-9646-7357-8b4e-d80fc4ffee5d", "title": "10 things iOS developers should focus on in 2021", "url": "https://www.donnywals.com/10-things-ios-developers-should-focus-on-in-2021/", "published_at": "2021-01-04T08:00:12+00:00" }, { "id": "01a0c583-9646-7357-8b4e-d80fc56b8d7e", "title": "Observing the result of saving a background managed object context with Combine", "url": "https://www.donnywals.com/observing-the-result-of-saving-a-background-managed-object-context-with-combine/", "published_at": "2020-12-07T07:30:42+00:00" }, { "id": "01a0c583-9646-7357-8b4e-d80fc636308c", "title": "Responding to changes in a managed object context", "url": "https://www.donnywals.com/responding-to-changes-in-a-managed-object-context/", "published_at": "2020-11-23T08:00:41+00:00" }, { "id": "01a0c583-9646-7357-8b4e-d80fc6621c52", "title": "Building a concurrency-proof token refresh flow in Combine", "url": "https://www.donnywals.com/building-a-concurrency-proof-token-refresh-flow-in-combine/", "published_at": "2020-11-09T08:30:48+00:00" }, { "id": "01a0c583-9646-7357-8b4e-d80fc6935f21", "title": "Building a simple remote configuration loader for your apps", "url": "https://www.donnywals.com/building-a-simple-remote-configuration-for-your-apps/", "published_at": "2020-10-26T21:01:31+00:00" }, { "id": "01a0c583-9646-7357-8b4e-d80fc6978c3c", "title": "Observing changes to managed objects across contexts with Combine", "url": "https://www.donnywals.com/observing-changes-to-managed-objects-across-contexts-with-combine/", "published_at": "2020-10-12T14:01:32+00:00" }, { "id": "01a0c583-9646-7357-8b4e-d80fc69d6fa0", "title": "Understanding the differences between your Core Data model and managed objects", "url": "https://www.donnywals.com/understanding-the-differences-between-your-core-data-model-and-managed-objects/", "published_at": "2020-10-05T09:39:16+00:00" }, { "id": "01a0c583-9646-7357-8b4e-d80fc7815b56", "title": "Understanding how DispatchQueue.sync can cause deadlocks", "url": "https://www.donnywals.com/understanding-how-dispatchqueue-sync-can-cause-deadlocks/", "published_at": "2020-09-21T20:25:09+00:00" }, { "id": "01a0c591-9d23-70da-a878-cd3dcf24b177", "title": "Configuring error types when using flatMap in Combine", "url": "https://www.donnywals.com/configuring-error-types-when-using-flatmap-in-combine/", "published_at": "2020-09-14T07:00:07+00:00" }, { "id": "01a0c591-9d23-70da-a878-cd3dcf270200", "title": "3 tips to work through a technical coding interview", "url": "https://www.donnywals.com/3-tips-to-work-through-a-technical-coding-interview/", "published_at": "2020-09-07T07:00:48+00:00" }, { "id": "01a0c591-9d23-70da-a878-cd3dcf78f4a3", "title": "Dispatching async or sync? The differences explained", "url": "https://www.donnywals.com/dispatching-async-or-sync-the-differences-explained/", "published_at": "2020-08-31T07:00:28+00:00" }, { "id": "01a0c591-9d23-70da-a878-cd3dcf973558", "title": "Implementing a one-way sync strategy with Core Data, URLSession and Combine", "url": "https://www.donnywals.com/implementing-a-one-way-sync-strategy-with-core-data-urlsession-and-combine/", "published_at": "2020-08-24T10:40:45+00:00" }, { "id": "01a0c591-9d23-70da-a878-cd3dd08c8efc", "title": "Understanding Swift’s OptionSet", "url": "https://www.donnywals.com/understanding-swifts-optionset/", "published_at": "2020-08-18T10:19:00+00:00" }, { "id": "01a0c591-9d23-70da-a878-cd3dd179ec0e", "title": "Fetching objects from Core Data in a SwiftUI project", "url": "https://www.donnywals.com/fetching-objects-from-core-data-in-a-swiftui-project/", "published_at": "2020-08-10T09:48:04+00:00" }, { "id": "01a0c591-9d23-70da-a878-cd3dd1e36291", "title": "Using Codable with Core Data and NSManagedObject", "url": "https://www.donnywals.com/using-codable-with-core-data-and-nsmanagedobject/", "published_at": "2020-08-03T08:54:44+00:00" }, { "id": "01a0c591-9d23-70da-a878-cd3dd2730d39", "title": "Setting up a Core Data store for unit tests", "url": "https://www.donnywals.com/setting-up-a-core-data-store-for-unit-tests/", "published_at": "2020-07-27T07:00:53+00:00" }, { "id": "01a0c591-9d23-70da-a878-cd3dd31cd11c", "title": "Using Core Data with SwiftUI 2.0 and Xcode 12", "url": "https://www.donnywals.com/using-core-data-with-swiftui-2-0-and-xcode-12/", "published_at": "2020-07-20T07:00:48+00:00" }, { "id": "01a0c591-9d23-70da-a878-cd3dd32f0368", "title": "Understanding the importance of abstractions", "url": "https://www.donnywals.com/understanding-the-importance-of-abstractions/", "published_at": "2020-07-13T07:00:05+00:00" } ] posts
Claim your blog
Back to Donny Wals
Blog · corpus.blog/blogs/donnywals.com/posts
Donny Wals
donnywals.com
2022
Swift’s associated types for protocols explained
original ↗
7 Jun 2022
Differences between Swift’s any and some keywords explained
original ↗
7 Jun 2022
Presenting a partially visible bottom sheet in SwiftUI on iOS 16
original ↗
6 Jun 2022
Formatting dates in Swift using Date.FormatStyle on iOS 15
original ↗
27 May 2022
Closures in Swift explained
original ↗
23 May 2022
The difference between checked and unsafe continuations in Swift
original ↗
24 Apr 2022
Migrating callback based code to Swift Concurrency with continuations
original ↗
24 Apr 2022
Comparing lifecycle management for async sequences and publishers
original ↗
12 Apr 2022
Comparing use cases for async sequences and publishers
original ↗
12 Apr 2022
What is the “any” keyword in Swift?
original ↗
15 Mar 2022
Writing custom property wrappers for SwiftUI
original ↗
16 Jan 2022
Five things iOS developers should focus on in 2022
original ↗
3 Jan 2022
2021
Understanding how and when SwiftUI decides to redraw views
original ↗
7 Nov 2021
Understanding Swift’s AsyncSequence
original ↗
1 Nov 2021
Using async await in Swift to build an image loader
original ↗
6 Sept 2021
What exactly is a Combine AnyCancellable?
original ↗
24 Aug 2021
Building a token refresh flow using async await in Swift
original ↗
16 Aug 2021
Using Swift’s TaskGroup for tasks with varying output
original ↗
9 Aug 2021
How to use async let in Swift?
original ↗
9 Aug 2021
Swift Concurrency’s TaskGroup explained
original ↗
5 Aug 2021
Using UISheetPresentationController in SwiftUI 3
original ↗
30 Jun 2021
Presenting a bottom sheet in UIKit with UISheetPresentationController
original ↗
30 Jun 2021
What are Swift Concurrency’s task local values?
original ↗
22 Jun 2021
Actors in Swift explained with examples
original ↗
14 Jun 2021
The iOS Developer’s guide to WWDC 2024
original ↗
31 May 2021
What’s the difference between a singleton and a shared instance in Swift?
original ↗
19 Apr 2021
Splitting a JSON object into an enum and an associated object with Codable
original ↗
5 Apr 2021
JSON parsing in Swift with custom encoding and decoding logic
original ↗
5 Apr 2021
Customizing how Codable objects map to JSON data
original ↗
5 Apr 2021
JSON parsing in Swift explained using Codable
original ↗
5 Apr 2021
Flattening a nested JSON response into a single struct with Codable
original ↗
4 Apr 2021
Preventing unwanted fetches when using NSFetchedResultsController and fetchBatchSize
original ↗
18 Jan 2021
10 things iOS developers should focus on in 2021
original ↗
4 Jan 2021
2020
Observing the result of saving a background managed object context with Combine
original ↗
7 Dec 2020
Responding to changes in a managed object context
original ↗
23 Nov 2020
Building a concurrency-proof token refresh flow in Combine
original ↗
9 Nov 2020
Building a simple remote configuration loader for your apps
original ↗
26 Oct 2020
Observing changes to managed objects across contexts with Combine
original ↗
12 Oct 2020
Understanding the differences between your Core Data model and managed objects
original ↗
5 Oct 2020
Understanding how DispatchQueue.sync can cause deadlocks
original ↗
21 Sept 2020
Configuring error types when using flatMap in Combine
original ↗
14 Sept 2020
3 tips to work through a technical coding interview
original ↗
7 Sept 2020
Dispatching async or sync? The differences explained
original ↗
31 Aug 2020
Implementing a one-way sync strategy with Core Data, URLSession and Combine
original ↗
24 Aug 2020
Understanding Swift’s OptionSet
original ↗
18 Aug 2020
Fetching objects from Core Data in a SwiftUI project
original ↗
10 Aug 2020
Using Codable with Core Data and NSManagedObject
original ↗
3 Aug 2020
Setting up a Core Data store for unit tests
original ↗
27 Jul 2020
Using Core Data with SwiftUI 2.0 and Xcode 12
original ↗
20 Jul 2020
Understanding the importance of abstractions
original ↗
13 Jul 2020
Previous