# Implementing Dark Mode Using the Observer Pattern

DevFeed: [Implementing Dark Mode Using the Observer Pattern](<https://devfeed.tech/articles/implementing-dark-mode-using-the-observer-pattern-2020.md>)

Original publisher: [Read original article](<https://developers.soundcloud.com/blog//dark-mode-observer-pattern>)

Published: 2019-11-08T00:00:00Z

Content type: tutorial

Language: en

Sources: [SoundCloud Backstage Blog](<https://devfeed.tech/sources/soundcloud-backstage-blog.md>)

Topics: [Dark Mode](<https://devfeed.tech/topics/dark-mode.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [collaboration](<https://devfeed.tech/tags/collaboration.md>), [dark-mode](<https://devfeed.tech/tags/dark-mode.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [ios](<https://devfeed.tech/tags/ios.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [reactive-programming](<https://devfeed.tech/tags/reactive-programming.md>), [swift](<https://devfeed.tech/tags/swift.md>)

## AI overview

This article explains how SoundCloud implemented Dark Mode in its iOS app while maintaining compatibility with earlier iOS versions. It describes using Swift to build a type-safe observer pattern that propagates color-theme changes to dependent observers.

## Source excerpt

Last week's update to the SoundCloud iOS app includes support for Dark Mode. This took several months of work and collaboration between...