<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/removing-the-m-from-mvvm-with-swiftui-1wl3nw4f0" -->

---
title: Removing the M from MVVM with SwiftUI | daily.dev
description: Learn how to remove the M from MVVM with SwiftUI and develop iOS apps with minimum code. The article discusses the use of views as representations of states,...
canonical: https://daily.dev/posts/removing-the-m-from-mvvm-with-swiftui-1wl3nw4f0
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Removing the M from MVVM with SwiftUI | daily.dev
og:description: Learn how to remove the M from MVVM with SwiftUI and develop iOS apps with minimum code. The article discusses the use of views as representations of states,...
og:url: https://daily.dev/posts/removing-the-m-from-mvvm-with-swiftui-1wl3nw4f0
og:image: https://api.daily.dev/og/posts/1wL3Nw4f0.png
og:image:alt: Removing the M from MVVM with SwiftUI
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Removing the M from MVVM with SwiftUI

**[Medium](https://daily.dev/sources/medium_js)** · 5 min read · 1 upvotes · 0 comments

## Summary

Learn how to remove the M from MVVM with SwiftUI and develop iOS apps with minimum code. The article discusses the use of views as representations of states, the use of environments to interact with views, and testing views through snapshot testing.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://dimillian.medium.com/removing-the-m-from-mvvm-with-swiftui-a58b239e9e3e>

## Similar posts on daily.dev

- [Don’t just attend KubeCon \+ CloudNativeCon, Merge Forward your experience\!](https://daily.dev/posts/don-t-just-attend-kubecon-cloudnativecon-merge-forward-your-experience--l0rpp73x8) · CNCF · 1 upvotes · 0 comments
- [Announcing H2 2026 KCDs](https://daily.dev/posts/announcing-h2-2026-kcds-m96goajm1) · CNCF · 1 upvotes · 0 comments
- [Two months of Open Community Groups](https://daily.dev/posts/two-months-of-open-community-groups-asf52zhbs) · CNCF · 0 upvotes · 0 comments

---

Tags: [#general-programming](https://daily.dev/tags/general-programming), [#mastodon](https://daily.dev/tags/mastodon), [#swiftui](https://daily.dev/tags/swiftui)

[View this post on daily.dev](https://daily.dev/posts/removing-the-m-from-mvvm-with-swiftui-1wl3nw4f0)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Removing the M from MVVM with SwiftUI","url":"https://daily.dev/posts/removing-the-m-from-mvvm-with-swiftui-1wl3nw4f0","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/removing-the-m-from-mvvm-with-swiftui-1wl3nw4f0"},"datePublished":"2024-04-08T21:39:05.484Z","dateModified":"2026-03-15T08:14:29.608Z","description":"Learn how to remove the M from MVVM with SwiftUI and develop iOS apps with minimum code. The article discusses the use of views as representations of states,...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/4d6ae73e1c2510eb55a37dc94f2973ff?_a=AQAEufR","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/4d6ae73e1c2510eb55a37dc94f2973ff?_a=AQAEufR","isAccessibleForFree":true,"articleSection":"Medium","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Medium","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium","url":"https://daily.dev/sources/medium_js"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/removing-the-m-from-mvvm-with-swiftui-1wl3nw4f0","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"general-programming,mastodon,swiftui","timeRequired":"PT5M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Medium","item":"https://daily.dev/sources/medium_js"},{"@type":"ListItem","position":3,"name":"Removing the M from MVVM with SwiftUI"}]}
```

