<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="https://www.donnywals.com/sitemap.xsl"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
<!-- Sitemap is generated on 2026-04-01 12:37:44 GMT -->
	<url>
		<loc>https://www.donnywals.com/</loc>
		<lastmod>2025-07-07T07:05:25+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/the-blog/</loc>
		<lastmod>2026-02-16T07:00:39+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/ioskonf-2025-giveaway/</loc>
		<lastmod>2025-02-18T18:57:21+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/random/</loc>
		<lastmod>2024-04-26T11:54:53+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/ioskonf-2024-raffle/</loc>
		<lastmod>2024-03-28T09:25:22+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/workshops/</loc>
		<lastmod>2023-06-14T10:02:39+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/wwdc-2021-booksale/</loc>
		<lastmod>2021-06-02T09:59:19+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/books/</loc>
		<lastmod>2023-04-11T07:08:58+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/newsletter/</loc>
		<lastmod>2022-06-13T14:43:29+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/speaking/</loc>
		<lastmod>2021-06-09T14:34:35+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/setting-up-a-delivery-pipeline-for-your-agentic-ios-projects/</loc>
		<lastmod>2026-02-16T18:15:24+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/the-importance-of-human-touch-in-ai-driven-development/</loc>
		<lastmod>2026-02-09T11:37:04+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/migrating-an-ios-app-from-paid-up-front-to-freemium/</loc>
		<lastmod>2026-02-02T19:13:50+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/a-deep-dive-into-swiftdata-migrations/</loc>
		<lastmod>2026-01-19T12:23:36+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/a-deep-dive-into-collections-sequences-and-iterators-in-swift/</loc>
		<lastmod>2025-11-05T11:52:51+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/using-observations-to-observe-observable-model-properties/</loc>
		<lastmod>2025-09-25T09:06:01+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/how-to-use-weak-self-in-swift-concurrency-tasks/</loc>
		<lastmod>2025-09-19T11:19:33+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/should-you-opt-in-to-swift-6-2s-main-actor-isolation/</loc>
		<lastmod>2025-09-12T07:53:20+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/what-is-approachable-concurrency-in-xcode-26/</loc>
		<lastmod>2025-09-12T08:24:06+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/ternary-expressions-in-swift-explained/</loc>
		<lastmod>2025-07-07T18:26:38+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/supporting-universal-links-on-ios/</loc>
		<lastmod>2025-07-07T09:51:45+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/grouping-liquid-glass-components-using-glasseffectunion-on-ios-26/</loc>
		<lastmod>2025-07-07T09:43:16+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/designing-custom-ui-with-liquid-glass-on-ios-26/</loc>
		<lastmod>2025-07-10T11:30:24+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/solving-actor-isolated-protocol-conformance-related-errors-in-swift-6-2/</loc>
		<lastmod>2025-07-07T09:50:38+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/what-is-concurrent-in-swift-6-2/</loc>
		<lastmod>2025-07-07T09:49:03+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/exploring-tab-bars-on-ios-26-with-liquid-glass/</loc>
		<lastmod>2025-07-07T14:42:42+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/opting-your-app-out-of-the-liquid-glass-redesign-with-xcode-26/</loc>
		<lastmod>2025-06-10T08:46:38+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/setting-default-actor-isolation-in-xcode-26/</loc>
		<lastmod>2025-06-10T08:00:12+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/exploring-concurrency-changes-in-swift-6-2/</loc>
		<lastmod>2025-06-26T10:44:09+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/enabling-upcoming-feature-flags-in-an-spm-package/</loc>
		<lastmod>2025-06-26T10:45:03+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/should-you-use-network-connectivity-checks-in-swift/</loc>
		<lastmod>2025-06-26T10:46:18+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/choosing-between-lazyvstack-list-and-vstack-in-swiftui/</loc>
		<lastmod>2025-06-26T10:45:45+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/differences-between-thread-sleep-and-task-sleep-explained/</loc>
		<lastmod>2025-07-10T12:53:35+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/protecting-mutable-state-with-mutex-in-swift/</loc>
		<lastmod>2025-05-08T12:07:05+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/using-singletons-in-swift-6/</loc>
		<lastmod>2025-04-24T11:55:20+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/using-instruments-to-profile-a-swiftui-app/</loc>
		<lastmod>2025-04-30T08:31:55+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/staying-productive-as-an-indie-developer/</loc>
		<lastmod>2025-04-15T08:52:36+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/implementing-task-timeout-with-swift-concurrency/</loc>
		<lastmod>2025-05-01T08:02:07+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/how-to-plan-a-migration-to-swift-6/</loc>
		<lastmod>2025-07-07T13:12:23+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/whats-new-in-swift-6-1/</loc>
		<lastmod>2025-02-27T14:12:17+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/why-you-should-keep-your-git-commits-small-and-meaningful/</loc>
		<lastmod>2025-02-19T16:00:18+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/observing-properties-on-an-observable-class-outside-of-swiftui-views/</loc>
		<lastmod>2025-01-22T11:57:41+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/solving-main-actor-isolated-property-can-not-be-referenced-from-a-sendable-closure-in-swift/</loc>
		<lastmod>2025-01-10T09:24:48+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/is-2025-the-year-to-fully-adopt-swift-6/</loc>
		<lastmod>2025-01-09T15:02:54+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/sending-vs-sendable-in-swift/</loc>
		<lastmod>2025-01-06T14:19:36+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/mocking-a-network-connection-in-your-swift-tests/</loc>
		<lastmod>2024-12-12T09:56:48+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/testing-completion-handler-based-code-in-swift-testing/</loc>
		<lastmod>2024-12-04T09:10:47+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/testing-requirements-with-require-in-swift-testing/</loc>
		<lastmod>2024-11-28T14:02:48+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/asserting-state-with-expect-in-swift-testing/</loc>
		<lastmod>2024-12-05T10:41:32+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/improving-test-coverage-with-parameterized-tests-in-swift-testing/</loc>
		<lastmod>2024-10-31T10:34:38+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/swift-testing-basics-explained/</loc>
		<lastmod>2024-10-25T09:29:48+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/testing-completion-handler-apis-with-swift-testing/</loc>
		<lastmod>2024-10-18T08:38:35+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/what-is-dependency-injection-in-swift/</loc>
		<lastmod>2024-10-12T06:27:15+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/getting-started-with-mesh-gradients-on-ios-18/</loc>
		<lastmod>2025-07-07T14:36:06+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/animating-sf-symbols-on-ios-18/</loc>
		<lastmod>2024-09-25T12:09:45+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/solving-value-of-non-sendable-type-accessed-after-being-transferred-later-accesses-could-race/</loc>
		<lastmod>2024-08-21T09:05:27+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/setting-the-swift-language-mode-for-an-spm-package/</loc>
		<lastmod>2024-08-22T10:22:40+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/solving-task-isolated-value-of-type-async-void-passed-as-a-strongly-transferred-parameter/</loc>
		<lastmod>2024-08-21T08:43:01+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/solving-reference-to-var-myvariable-is-not-concurrency-safe-because-it-involves-shared-mutable-state-in-swift/</loc>
		<lastmod>2024-08-21T08:43:22+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/solving-converting-non-sendable-function-value-may-introduce-data-races-in-swift/</loc>
		<lastmod>2024-08-21T08:43:27+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/what-are-optionals-in-swift/</loc>
		<lastmod>2024-08-14T11:26:42+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/solving-capture-of-non-sendable-type-in-sendable-closure-in-swift/</loc>
		<lastmod>2024-08-21T08:43:31+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/solving-reference-to-captured-var-in-concurrently-executing-code-in-swift/</loc>
		<lastmod>2024-12-16T12:31:43+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/adding-values-to-the-swiftui-environment-with-entry/</loc>
		<lastmod>2025-07-07T11:31:54+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/let-and-var-in-swift-explained/</loc>
		<lastmod>2025-07-07T14:33:25+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/using-previewmodifier-to-build-a-previewing-environment/</loc>
		<lastmod>2024-07-10T18:18:01+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/mixing-colors-in-swiftui-and-xcode-16/</loc>
		<lastmod>2024-07-22T10:52:34+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/using-ios-18s-new-tabview-with-a-sidebar/</loc>
		<lastmod>2024-06-12T14:49:39+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/building-a-stretchy-header-view-with-swiftui-on-ios-18/</loc>
		<lastmod>2024-06-11T13:18:57+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/modern-logging-with-the-oslog-framework-in-swift/</loc>
		<lastmod>2024-06-07T07:31:06+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/preconcurrency-usage-in-swift-explained/</loc>
		<lastmod>2024-06-03T14:39:32+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/programmatic-navigation-in-swiftui-with-navigationpath-and-navigationdestination/</loc>
		<lastmod>2024-05-22T18:51:38+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/turn-off-sidebar-hiding-on-navigationsplitview-in-swiftui/</loc>
		<lastmod>2024-05-21T18:04:25+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/how-to-decide-between-a-set-and-array-in-swift/</loc>
		<lastmod>2024-10-02T11:38:05+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/swifts-if-and-switch-expressions-explained/</loc>
		<lastmod>2024-06-10T10:00:01+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/what-are-enums-in-swift/</loc>
		<lastmod>2024-05-08T11:16:18+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/how-to-add-a-privacy-manifest-file-to-your-app-for-required-reason-api-usage/</loc>
		<lastmod>2024-05-03T11:22:23+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/what-is-defer-in-swift/</loc>
		<lastmod>2024-05-15T14:02:40+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/deciding-between-a-computed-property-and-a-function-in-swift/</loc>
		<lastmod>2024-05-08T09:38:45+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/if-case-let-in-swift-explained/</loc>
		<lastmod>2025-01-20T12:08:37+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/how-enterprise-level-ci-cd-with-appcircle-helps-you-scale/</loc>
		<lastmod>2024-05-21T08:46:54+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/what-are-lazy-vars-in-swift/</loc>
		<lastmod>2024-04-29T08:15:21+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/for-vs-foreach-in-swift-the-differences-explained/</loc>
		<lastmod>2025-07-07T12:09:08+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/dispatching-to-the-main-thread-with-mainactor-in-swift/</loc>
		<lastmod>2024-04-23T13:11:46+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/how-to-use-experimental-swift-versions-and-features-in-xcode/</loc>
		<lastmod>2025-05-19T07:40:29+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/actor-reentrancy-in-swift-explained/</loc>
		<lastmod>2024-04-23T11:15:00+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/building-a-backend-driven-paywall-with-revenuecat/</loc>
		<lastmod>2024-04-23T11:02:19+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/using-closures-for-dependencies-instead-of-protocols/</loc>
		<lastmod>2024-04-23T11:24:04+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/building-an-asyncsequence-with-asyncstream-makestream/</loc>
		<lastmod>2024-04-23T11:26:16+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/how-to-make-sure-your-ci-pipelines-are-always-up-to-date/</loc>
		<lastmod>2024-04-23T11:27:24+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/everything-you-need-to-know-about-swift-5-10/</loc>
		<lastmod>2024-04-23T11:28:30+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/working-with-dates-and-codable-in-swift/</loc>
		<lastmod>2024-04-23T11:32:07+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/designing-apis-with-typed-throws-in-swift/</loc>
		<lastmod>2024-06-07T06:19:22+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/how-to-determine-where-tasks-and-async-functions-run-in-swift/</loc>
		<lastmod>2025-09-19T14:32:55+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/observable-in-swiftui-explained/</loc>
		<lastmod>2025-07-04T08:58:57+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/writing-code-that-makes-mistakes-harder/</loc>
		<lastmod>2024-04-23T11:41:17+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/connecting-your-git-repository-with-a-remote-server/</loc>
		<lastmod>2024-04-23T11:42:24+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/understanding-and-resolving-merge-conflicts/</loc>
		<lastmod>2024-04-23T11:43:19+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/git-basics-for-ios-developers/</loc>
		<lastmod>2024-04-23T11:44:44+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/making-your-swiftdata-models-codable/</loc>
		<lastmod>2024-04-23T11:47:06+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/swiftuis-bindable-property-wrapper-explained/</loc>
		<lastmod>2024-04-23T11:54:40+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/whats-the-difference-between-binding-and-bindable/</loc>
		<lastmod>2024-04-23T11:55:07+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/whats-the-difference-between-macros-and-property-wrappers/</loc>
		<lastmod>2024-04-23T12:21:37+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/tips-and-tricks-for-exploring-a-new-codebase/</loc>
		<lastmod>2024-04-23T12:21:15+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/understanding-unstructured-and-detached-tasks-in-swift/</loc>
		<lastmod>2025-06-04T11:41:39+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/the-basics-of-structured-concurrency-in-swift-explained/</loc>
		<lastmod>2025-07-04T08:57:43+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/setting-up-a-simple-local-web-socket-server/</loc>
		<lastmod>2024-04-23T12:16:01+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/iterating-over-web-socket-messages-with-async-await-in-swift/</loc>
		<lastmod>2024-04-23T12:15:24+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/understanding-swift-concurrencys-asyncstream/</loc>
		<lastmod>2024-06-04T09:26:32+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/providing-a-default-value-for-a-swiftui-binding/</loc>
		<lastmod>2025-06-04T07:10:22+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/enabling-concurrency-warnings-in-xcode/</loc>
		<lastmod>2024-11-04T10:45:45+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/what-are-sendable-and-sendable-closures-in-swift/</loc>
		<lastmod>2025-07-07T13:06:12+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/xcode-14-publishing-changes-from-within-view-updates-is-not-allowed-this-will-cause-undefined-behavior/</loc>
		<lastmod>2024-04-23T12:09:36+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/swifts-associated-types-for-protocols-explained/</loc>
		<lastmod>2025-09-25T07:59:46+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/differences-between-swifts-any-and-some-keywords-explained/</loc>
		<lastmod>2025-07-04T09:08:17+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/presenting-a-partially-visible-bottom-sheet-in-swiftui-on-ios-16/</loc>
		<lastmod>2024-04-23T12:05:06+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/formatting-dates-in-swift-using-date-formatstyle-on-ios-15/</loc>
		<lastmod>2024-04-23T12:04:19+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/closures-in-swift-explained/</loc>
		<lastmod>2024-04-23T12:03:16+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/debugging-network-traffic-with-proxyman/</loc>
		<lastmod>2024-04-23T12:02:05+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/the-difference-between-checked-and-unsafe-continuation-in-swift/</loc>
		<lastmod>2024-07-09T08:50:50+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/migrating-callback-based-code-to-swift-concurrency-with-continuations/</loc>
		<lastmod>2024-10-16T13:51:24+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/comparing-lifecycle-management-for-async-sequences-and-publishers/</loc>
		<lastmod>2024-04-23T11:59:06+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/comparing-use-cases-for-async-sequences-and-publishers/</loc>
		<lastmod>2024-04-24T07:34:11+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/what-is-the-any-keyword-in-swift/</loc>
		<lastmod>2024-05-02T12:11:55+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/writing-custom-property-wrappers-for-swiftui/</loc>
		<lastmod>2024-04-24T07:38:44+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/adding-custom-keys-to-the-swiftui-environment/</loc>
		<lastmod>2024-09-06T08:17:54+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/five-things-ios-developers-should-focus-on-in-2022/</loc>
		<lastmod>2024-04-24T07:40:31+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/forcing-an-app-out-of-memory-on-ios/</loc>
		<lastmod>2024-04-24T07:41:15+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/understanding-how-and-when-swiftui-decides-to-redraw-views/</loc>
		<lastmod>2025-05-16T11:30:21+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/understanding-swifts-asyncsequence/</loc>
		<lastmod>2024-04-24T07:43:56+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/using-swifts-async-await-to-build-an-image-loader/</loc>
		<lastmod>2025-07-04T08:47:54+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/what-exactly-is-a-combine-anycancellable/</loc>
		<lastmod>2024-04-24T07:46:31+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/building-a-token-refresh-flow-with-async-await-and-swift-concurrency/</loc>
		<lastmod>2025-07-04T08:48:54+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/using-swift-concurrencys-task-group-for-tasks-with-varying-output/</loc>
		<lastmod>2025-07-07T13:13:18+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/how-to-use-async-let-in-swift/</loc>
		<lastmod>2024-04-24T07:51:31+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/swift-concurrencys-taskgroup-explained/</loc>
		<lastmod>2025-07-07T13:09:50+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/using-uisheetpresentationcontroller-in-swiftui/</loc>
		<lastmod>2022-06-06T21:24:26+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/presenting-a-bottom-sheet-in-uikit-with-uisheetpresentationcontroller/</loc>
		<lastmod>2021-06-30T09:26:38+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/what-are-swift-concurrencys-task-local-values/</loc>
		<lastmod>2024-08-26T07:24:11+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/actors-in-swift-explained-with-examples/</loc>
		<lastmod>2025-09-22T08:51:35+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/wwdc-notes-swift-concurrency-behind-the-scenes/</loc>
		<lastmod>2021-06-10T20:37:36+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/wwdc-notes-bring-core-data-concurrency-to-swift-and-swiftui/</loc>
		<lastmod>2021-06-10T19:27:35+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/wwdc-notes-discover-concurrency-in-swiftui/</loc>
		<lastmod>2021-06-09T16:56:18+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/wwdc-notes-meet-asyncsequence/</loc>
		<lastmod>2021-06-09T16:08:00+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/wwdc-notes-whats-new-in-swiftui/</loc>
		<lastmod>2021-06-09T12:18:47+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/wwdc-notes-protect-mutable-state-with-swift-actors/</loc>
		<lastmod>2022-09-13T07:54:12+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/wwdc-notes-explore-structured-concurrency-in-swift/</loc>
		<lastmod>2021-06-08T16:35:58+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/wwdc-notes-meet-async-await-in-swift/</loc>
		<lastmod>2021-06-08T14:37:23+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/thoughts-on-combine-in-an-async-await-world/</loc>
		<lastmod>2021-06-08T22:42:06+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/the-ios-developers-guide-to-wwdc-2024/</loc>
		<lastmod>2024-06-08T06:43:14+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/whats-the-difference-between-a-singleton-and-a-shared-instance-in-swift/</loc>
		<lastmod>2021-04-24T16:33:16+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/an-extensive-guide-to-sorting-arrays-in-swift/</loc>
		<lastmod>2024-04-23T19:09:42+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/splitting-a-json-object-into-an-enum-and-an-associated-object-with-codable/</loc>
		<lastmod>2021-04-10T14:27:37+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/json-parsing-in-swift-with-custom-encoding-and-decoding-logic/</loc>
		<lastmod>2025-07-04T08:51:47+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/customizing-how-codable-objects-map-to-json-data/</loc>
		<lastmod>2024-03-12T15:00:17+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/json-parsing-in-swift-explained-using-codable/</loc>
		<lastmod>2025-07-04T08:51:16+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/flattening-a-nested-json-response-into-a-single-struct-with-codable/</loc>
		<lastmod>2024-02-19T08:57:14+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/preventing-unwanted-fetches-when-using-nsfetchedresultscontroller-and-fetchbatchsize/</loc>
		<lastmod>2021-01-18T08:45:28+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/what-does-atomic-mean-in-programming/</loc>
		<lastmod>2021-01-06T09:07:03+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/10-things-ios-developers-should-focus-on-in-2021/</loc>
		<lastmod>2021-01-07T10:07:21+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/observing-the-result-of-saving-a-background-managed-object-context-with-combine/</loc>
		<lastmod>2020-12-06T20:38:41+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/responding-to-changes-in-a-managed-object-context/</loc>
		<lastmod>2020-11-22T19:38:10+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/building-a-concurrency-proof-token-refresh-flow-in-combine/</loc>
		<lastmod>2020-11-09T14:28:13+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/building-a-simple-remote-configuration-for-your-apps/</loc>
		<lastmod>2020-10-28T10:04:53+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/formatting-dates-in-the-users-locale-using-dateformatter-in-swift/</loc>
		<lastmod>2020-10-15T10:10:54+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/observing-changes-to-managed-objects-across-contexts-with-combine/</loc>
		<lastmod>2020-10-12T16:35:21+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/understanding-the-differences-between-your-core-data-model-and-managed-objects/</loc>
		<lastmod>2020-10-05T09:39:16+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/understanding-how-dispatchqueue-sync-can-cause-deadlocks/</loc>
		<lastmod>2021-06-15T08:29:36+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/configuring-error-types-when-using-flatmap-in-combine/</loc>
		<lastmod>2020-09-13T13:48:32+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/3-tips-to-work-through-a-technical-coding-interview/</loc>
		<lastmod>2020-08-30T11:05:54+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/dispatching-async-or-sync-the-differences-explained/</loc>
		<lastmod>2021-06-15T08:29:50+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/implementing-a-one-way-sync-strategy-with-core-data-urlsession-and-combine/</loc>
		<lastmod>2020-08-24T10:40:45+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/understanding-swifts-optionset/</loc>
		<lastmod>2020-08-18T11:40:32+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/fetching-objects-from-core-data-in-a-swiftui-project/</loc>
		<lastmod>2020-08-18T18:09:23+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/using-codable-with-core-data-and-nsmanagedobject/</loc>
		<lastmod>2021-04-05T13:33:34+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/setting-up-a-core-data-store-for-unit-tests/</loc>
		<lastmod>2020-08-04T08:31:03+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/using-core-data-with-swiftui-2-0-and-xcode-12/</loc>
		<lastmod>2020-09-30T18:06:18+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/understanding-the-importance-of-abstractions/</loc>
		<lastmod>2020-07-12T20:49:52+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/handling-deeplinks-in-a-swiftui-app/</loc>
		<lastmod>2025-07-07T09:53:10+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/implementing-an-infinite-scrolling-list-with-swiftui-and-combine/</loc>
		<lastmod>2020-07-03T08:16:51+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/using-multi-colored-icons-in-ios14-with-sf-symbols-2/</loc>
		<lastmod>2020-09-30T18:06:02+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/how-to-change-a-uicollectionviewlistcells-separator-inset/</loc>
		<lastmod>2020-09-30T18:05:56+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/whats-new-with-uicollectionview-in-ios-14/</loc>
		<lastmod>2020-09-30T18:05:49+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/how-to-add-a-custom-accessory-to-a-uicollectionviewlistcell/</loc>
		<lastmod>2020-09-30T18:05:42+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/how-to-add-accessories-to-a-uicollectionviewlistcell/</loc>
		<lastmod>2020-09-30T18:05:34+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/how-to-add-custom-swipe-actions-to-a-uicollectionviewlistcell/</loc>
		<lastmod>2022-01-06T10:00:43+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/configure-collection-view-cells-with-uicollectionview-cellregistration/</loc>
		<lastmod>2020-09-30T18:05:21+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/stateobject-vs-observedobject-understanding-the-difference/</loc>
		<lastmod>2025-07-04T08:59:22+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/using-custom-publishers-to-drive-swiftui-views/</loc>
		<lastmod>2020-09-30T18:05:08+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/ignore-first-number-of-elements-from-a-publisher-in-combine/</loc>
		<lastmod>2020-06-19T09:44:19+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/recursively-execute-a-paginated-network-call-with-combine/</loc>
		<lastmod>2020-06-17T06:14:43+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/whats-the-difference-between-float-and-double-in-swift/</loc>
		<lastmod>2020-07-31T15:53:18+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/understanding-property-wrappers-in-swift-with-examples/</loc>
		<lastmod>2025-07-07T14:29:30+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/five-tips-to-help-you-become-a-well-rounded-developer/</loc>
		<lastmod>2024-01-25T15:08:11+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/whats-the-difference-between-catch-and-replaceerror-in-combine/</loc>
		<lastmod>2021-08-16T14:18:50+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/retrying-a-network-request-with-a-delay-in-combine/</loc>
		<lastmod>2021-05-05T11:08:37+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/delete-old-simulators-and-device-support-files-to-free-disk-space/</loc>
		<lastmod>2020-11-26T13:49:39+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/throttle-network-speeds-for-a-specific-host-in-charles/</loc>
		<lastmod>2020-05-21T10:32:26+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/how-to-have-more-than-one-type-of-cell-in-a-collection-view/</loc>
		<lastmod>2020-05-19T07:43:39+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/understanding-type-erasure-in-swift/</loc>
		<lastmod>2025-01-07T14:52:49+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/getting-started-with-testing-your-combine-code/</loc>
		<lastmod>2020-05-09T14:02:48+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/creating-type-safe-identifiers-for-your-codable-models/</loc>
		<lastmod>2021-04-05T13:33:25+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/why-your-atomic-property-wrapper-doesnt-work-for-collection-types/</loc>
		<lastmod>2020-04-24T17:33:16+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/changing-a-publishers-failure-type-in-combine/</loc>
		<lastmod>2020-04-20T09:02:05+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/an-introduction-to-big-o-in-swift/</loc>
		<lastmod>2020-04-16T08:27:31+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/using-closures-to-initialize-properties-in-swift/</loc>
		<lastmod>2024-04-23T19:06:25+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/how-to-use-sf-symbols-in-your-apps/</loc>
		<lastmod>2020-04-06T07:22:01+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/find-and-copy-xcode-device-support-files/</loc>
		<lastmod>2020-10-13T13:15:04+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/enforcing-code-consistency-with-swiftlint/</loc>
		<lastmod>2020-03-30T08:48:13+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/calculating-the-difference-in-hours-between-two-dates-in-swift/</loc>
		<lastmod>2020-03-25T08:14:53+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/adding-your-apps-content-to-spotlight/</loc>
		<lastmod>2020-03-23T10:08:11+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/removing-duplicate-values-from-an-array-in-swift/</loc>
		<lastmod>2024-04-23T19:10:17+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/profiling-and-debugging-your-combine-code-with-timelane/</loc>
		<lastmod>2020-03-16T11:04:03+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/what-is-escaping-in-swift/</loc>
		<lastmod>2025-01-20T12:07:38+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/what-are-computed-properties-in-swift-and-when-should-you-use-them/</loc>
		<lastmod>2024-04-23T19:02:26+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/reading-and-writing-property-list-files-in-swift/</loc>
		<lastmod>2021-04-05T13:33:01+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/using-result-in-swift-5/</loc>
		<lastmod>2020-03-02T08:13:41+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/using-keypaths-as-functions-in-swift-5-2/</loc>
		<lastmod>2025-11-05T08:12:31+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/error-handling-in-swift-with-do-catch/</loc>
		<lastmod>2025-07-04T09:22:23+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/adding-default-values-to-subscripts-in-swift-5-2/</loc>
		<lastmod>2020-02-21T09:45:21+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/how-and-when-to-use-callasfunction-in-swift-5-2/</loc>
		<lastmod>2020-02-17T19:07:23+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/testing-push-notifications-in-the-simulator-with-xcode-11-4/</loc>
		<lastmod>2020-08-19T09:00:53+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/using-promises-and-futures-in-combine/</loc>
		<lastmod>2020-08-03T11:19:49+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/five-ways-to-get-better-at-receiving-feedback/</loc>
		<lastmod>2020-02-05T15:45:11+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/using-map-flatmap-and-compactmap-in-combine/</loc>
		<lastmod>2020-02-08T16:09:56+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/updating-ui-with-assigntoon-in-combine/</loc>
		<lastmod>2020-01-29T08:00:01+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/publishing-property-changes-in-combine/</loc>
		<lastmod>2020-01-27T07:49:12+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/debugging-network-traffic-with-charles/</loc>
		<lastmod>2020-02-10T15:00:29+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/how-to-sort-an-array-based-on-a-property-of-an-element-in-swift/</loc>
		<lastmod>2024-04-23T19:10:47+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/refactoring-a-networking-layer-to-use-combine/</loc>
		<lastmod>2020-02-10T15:00:35+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/how-to-add-an-element-to-the-start-of-an-array-in-swift/</loc>
		<lastmod>2024-04-23T19:11:04+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/how-to-check-if-two-date-ranges-overlap-in-swift/</loc>
		<lastmod>2020-02-09T21:05:09+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/tips-to-ask-better-questions/</loc>
		<lastmod>2020-01-15T10:50:14+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/understanding-combines-publishers-and-subscribers/</loc>
		<lastmod>2020-01-20T17:55:07+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/remove-instances-of-an-object-from-an-array-in-swift/</loc>
		<lastmod>2024-04-23T19:12:03+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/how-to-filter-an-array-in-swift/</loc>
		<lastmod>2024-04-23T19:12:20+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/five-tips-to-write-better-todos-in-xcode/</loc>
		<lastmod>2020-02-10T15:02:36+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/an-introduction-to-combine/</loc>
		<lastmod>2021-08-15T21:34:48+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/swifts-typealias-explained-with-five-examples/</loc>
		<lastmod>2024-04-29T09:31:38+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/reversing-an-array-in-swift/</loc>
		<lastmod>2024-04-23T19:12:29+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/year-in-review-2019/</loc>
		<lastmod>2020-02-10T14:59:18+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/getting-ready-to-publish-your-app-on-the-app-store/</loc>
		<lastmod>2020-01-06T09:25:29+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/dependency-injection-with-storyboards-and-xcode-11/</loc>
		<lastmod>2020-02-10T15:02:30+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/using-compositional-collection-view-layouts-in-ios-13/</loc>
		<lastmod>2019-12-22T08:29:57+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/modern-table-views-with-diffable-data-sources/</loc>
		<lastmod>2023-09-22T09:16:13+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/fetching-and-displaying-data-from-the-network/</loc>
		<lastmod>2020-02-10T15:00:38+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/architecting-a-robust-networking-layer-with-protocols/</loc>
		<lastmod>2020-02-10T15:00:42+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/installing-multiple-xcode-versions-with-xcversion/</loc>
		<lastmod>2020-02-10T15:02:23+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/loose-coupling-and-the-law-of-demeter/</loc>
		<lastmod>2019-12-18T10:52:13+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/sequencing-tasks-with-dispatchgroup/</loc>
		<lastmod>2019-12-16T08:22:51+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/breaking-an-app-up-into-modules/</loc>
		<lastmod>2019-12-11T13:51:25+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/using-preconditions-assertions-and-fatal-errors-in-swift/</loc>
		<lastmod>2024-01-19T10:16:19+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/testing-your-push-notifications-without-a-third-party-service/</loc>
		<lastmod>2019-12-13T08:26:44+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/scheduling-daily-notifications-on-ios-using-calendar-and-datecomponents/</loc>
		<lastmod>2019-12-12T07:52:11+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/handling-deeplinks-in-your-app/</loc>
		<lastmod>2020-07-06T11:52:22+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/measuring-performance-with-os_signpost/</loc>
		<lastmod>2019-12-10T17:46:34+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/using-xcodes-memory-graph-to-find-memory-leaks/</loc>
		<lastmod>2021-11-11T13:29:03+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/finding-slow-code-with-instruments/</loc>
		<lastmod>2025-03-31T07:34:57+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/effectively-using-static-and-class-methods-and-properties/</loc>
		<lastmod>2024-11-04T10:30:24+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/opaque-result-types-and-the-some-keyword-in-swift/</loc>
		<lastmod>2025-09-25T07:58:56+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/generics-in-swift-explained/</loc>
		<lastmod>2024-08-21T13:10:59+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/efficiently-loading-images-in-table-views-and-collection-views/</loc>
		<lastmod>2024-04-29T09:49:48+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/appropriately-using-dispatchqueue-main/</loc>
		<lastmod>2019-12-02T16:19:47+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/changes-to-location-access-in-ios-13/</loc>
		<lastmod>2019-12-01T21:48:05+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/using-launch-arguments-for-easier-core-data-debugging/</loc>
		<lastmod>2025-06-27T07:11:42+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/adding-haptics-to-your-app/</loc>
		<lastmod>2019-12-23T15:07:15+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/storage-options-on-ios-compared/</loc>
		<lastmod>2025-07-07T12:06:44+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/updating-your-apps-with-silent-push-notifications/</loc>
		<lastmod>2024-04-29T09:51:23+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/real-time-data-exchange-using-web-sockets-in-ios-13/</loc>
		<lastmod>2020-02-10T14:55:09+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/announcing-advent-of-swift/</loc>
		<lastmod>2019-12-05T10:15:18+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/configuring-projects-with-xcconfig/</loc>
		<lastmod>2026-01-30T08:41:07+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/building-flexible-components-with-generics-and-protocols/</loc>
		<lastmod>2021-06-09T22:04:05+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/add-ios-12-support-to-a-new-xcode-11-project/</loc>
		<lastmod>2019-11-26T13:58:37+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/when-to-use-weak-self-and-why/</loc>
		<lastmod>2025-09-18T13:13:43+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/adding-support-for-multiple-windows-to-your-ipados-app/</loc>
		<lastmod>2020-02-10T14:55:24+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/uploading-images-and-forms-to-a-server-using-urlsession/</loc>
		<lastmod>2024-01-25T12:34:21+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/understanding-the-ios-13-scene-delegate/</loc>
		<lastmod>2020-02-10T14:55:29+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/map-flatmap-and-compactmap-in-swift-explained-with-examples/</loc>
		<lastmod>2025-07-07T12:36:18+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/faking-network-responses-in-tests/</loc>
		<lastmod>2020-02-10T15:00:45+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/for-loops-in-swift-explained-with-examples/</loc>
		<lastmod>2025-07-07T12:12:44+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/optimizing-your-applications-reviews/</loc>
		<lastmod>2020-10-28T10:00:08+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/what-is-module-stability-in-swift-and-why-should-you-care/</loc>
		<lastmod>2020-02-10T14:56:24+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/finding-the-difference-between-two-arrays/</loc>
		<lastmod>2024-04-23T19:12:45+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/getting-started-with-unit-testing-on-ios-part-2/</loc>
		<lastmod>2021-04-28T07:54:37+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/getting-started-with-unit-testing-on-ios-part-1/</loc>
		<lastmod>2021-04-28T07:54:41+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/supporting-low-data-mode-in-your-app/</loc>
		<lastmod>2024-05-15T15:18:18+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/spend-less-time-maintaining-your-test-suite-by-using-the-builder-pattern/</loc>
		<lastmod>2020-02-10T14:56:04+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/cleaning-up-your-dependencies-with-protocols/</loc>
		<lastmod>2020-02-10T14:55:57+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/about-my-ios-development-book/</loc>
		<lastmod>2020-02-10T14:57:18+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/enforcing-modular-code-with-frameworks-in-xcode/</loc>
		<lastmod>2020-02-10T14:57:12+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/surviving-a-start-ups-bankruptcy/</loc>
		<lastmod>2020-02-10T14:57:04+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/on-variable-naming-when-teaching/</loc>
		<lastmod>2020-02-10T14:56:59+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/apple-has-launched-safari-technology-preview-and-thats-great-news/</loc>
		<lastmod>2016-03-31T11:27:24+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/build-a-simple-web-scraper-with-node-js/</loc>
		<lastmod>2016-02-29T15:22:48+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/clean-derived-data-from-xcode-the-simple-way/</loc>
		<lastmod>2020-02-10T14:56:46+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/wrapping-your-callbacks-in-promises/</loc>
		<lastmod>2020-02-10T14:58:44+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/how-i-migrated-from-apache-to-nginx/</loc>
		<lastmod>2019-11-26T13:54:04+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/step-up-your-async-game-with-promisekit/</loc>
		<lastmod>2021-08-27T10:10:09+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/why-you-should-avoid-force-unwrapping-in-swift/</loc>
		<lastmod>2024-04-26T11:25:11+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/high-performance-shadows-for-uiview/</loc>
		<lastmod>2020-02-10T14:58:25+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/creating-a-custom-uicollectionviewlayout-in-swift/</loc>
		<lastmod>2020-02-10T14:58:20+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/find-every-other-element-in-an-array-with-swift/</loc>
		<lastmod>2024-04-23T19:14:21+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/exploring-protocols-and-protocol-extensions-in-swift/</loc>
		<lastmod>2024-02-21T19:43:13+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/icon-fonts-vs-svg-icons/</loc>
		<lastmod>2015-04-16T18:48:35+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/how-to-choose-between-rem-and-em/</loc>
		<lastmod>2015-04-12T19:34:14+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/why-consistency-will-always-beat-motivation/</loc>
		<lastmod>2025-07-07T12:25:09+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/using-flexbox-in-the-real-world/</loc>
		<lastmod>2015-04-01T19:04:56+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/service-workers-are-awesome/</loc>
		<lastmod>2015-03-30T05:57:34+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/filling-in-the-blanks-with-calc/</loc>
		<lastmod>2015-03-28T16:48:30+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/some-tips-for-new-front-end-developers/</loc>
		<lastmod>2020-02-10T14:57:55+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/death-by-papercut-why-small-optimizations-matter/</loc>
		<lastmod>2015-03-21T22:07:25+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/three-simple-ways-to-start-a-local-webserver/</loc>
		<lastmod>2015-03-20T08:48:24+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/mobile-first-is-a-great-workflow/</loc>
		<lastmod>2015-03-18T13:53:04+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/dont-depend-on-javascript-to-render-your-page/</loc>
		<lastmod>2015-03-14T10:55:12+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/automagically-load-your-gulp-plugins/</loc>
		<lastmod>2015-03-11T09:51:13+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/stop-writing-vendor-prefixes-autoprefixer-does-that/</loc>
		<lastmod>2015-03-10T19:07:37+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/you-should-start-using-browsersync-today/</loc>
		<lastmod>2015-03-08T18:57:01+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/why-i-love-to-write-stories-while-im-programming/</loc>
		<lastmod>2015-03-08T15:17:57+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/how-to-prevent-gulp-from-crashing-all-the-time/</loc>
		<lastmod>2015-03-03T12:00:43+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/how-i-improved-my-workflow-with-imagemagick/</loc>
		<lastmod>2015-07-13T15:58:43+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/getting-started-with-gulp/</loc>
		<lastmod>2015-02-15T13:24:17+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/weekly-swift-3-interfaces-and-coredata/</loc>
		<lastmod>2015-02-13T10:34:18+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/understanding-html5-srcset/</loc>
		<lastmod>2015-03-13T15:42:34+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/weekly-swift-2-getting-somewhere/</loc>
		<lastmod>2015-02-06T08:43:30+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/weekly-swift-1-warming-up/</loc>
		<lastmod>2015-01-30T08:53:45+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/avoid-thinking-in-pixels/</loc>
		<lastmod>2015-01-04T14:13:05+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/sharing-cookies-between-subdomains/</loc>
		<lastmod>2014-11-20T10:03:45+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/using-angular-ui-bootstrap-modals/</loc>
		<lastmod>2015-03-03T15:00:12+00:00</lastmod>
	</url>
	<url>
		<loc>https://www.donnywals.com/creating-a-multi-step-form-with-angular-js-2/</loc>
		<lastmod>2014-10-28T09:36:42+00:00</lastmod>
	</url>
</urlset>
<!-- Sitemap is served from cache -->
